Releasing
How installers are built and published for nikhilakki/pomodoro.
CI matrix
Workflow: .github/workflows/release.yml
| Runner | Target |
|---|---|
macos-latest | aarch64-apple-darwin |
macos-latest | x86_64-apple-darwin |
windows-latest | x86_64-pc-windows-msvc |
windows-11-arm | aarch64-pc-windows-msvc |
ubuntu-22.04 | x86_64-unknown-linux-gnu |
ubuntu-22.04-arm | aarch64-unknown-linux-gnu |
Uses tauri-apps/tauri-action to build and attach artifacts.
Triggers
- Push of a version tag matching
v* - Manual Actions → Release → Run workflow
Cut a release
- Bump version in all three places:
package.jsonsrc-tauri/tauri.conf.jsonsrc-tauri/Cargo.toml(refreshCargo.lockif needed)
- Commit on
mainand push. - Tag and push:
bash
git tag -a v0.2.0 -m "v0.2.0"
git push origin v0.2.0- Wait for the six matrix jobs. Review the GitHub Release draft/assets.
- Publish the release if the workflow left it as a draft (
releaseDraft: truemay create drafts; consolidate assets if parallel jobs race).
Users download from Releases.
Code signing (optional)
Default pipeline only needs GITHUB_TOKEN with contents: write.
macOS (seamless open)
Configure secrets for signing + notarization so users avoid the xattr Gatekeeper workaround:
APPLE_CERTIFICATEAPPLE_CERTIFICATE_PASSWORDAPPLE_SIGNING_IDENTITYAPPLE_IDAPPLE_PASSWORDAPPLE_TEAM_ID
Windows
Optional certificate secrets (e.g. WINDOWS_CERTIFICATE) reduce SmartScreen friction.
Local release build
bash
pnpm install
pnpm tauri buildSee Setup for prerequisites and output paths.
Docs site releases
This documentation site (pomodoro-docs) deploys independently via GitHub Actions on push to main. It does not version-lock to app tags; update Changelog when documenting app releases.