中文版本: release.zh.md
This project has two release tracks:
mainpush -> GitHub Actions publishes a nightly prerelease- annotated tag like
v0.0.2-> GitHub Actions publishes a stable release
- Finish the code change and commit it on
main - If you want a nightly build only, push
main - If you want a stable release, create an annotated tag with release notes
- Push the tag
- GitHub Actions packages the app, creates the GitHub Release, and uploads updater metadata
- Packaged apps detect updates on launch or through Help -> Check for Updates
git add .
git commit -m "feat: improve updater flow"
git push origin main
git tag -a v0.0.2 -m "PSRCHIVE Viewer 0.0.2
- Add in-app GitHub Release update checks
- Support manual download and restart-to-install flow
- Split nightly and stable update channels"
git push origin v0.0.2For stable releases, the GitHub Release desc / body is taken from the annotated tag message.
That means:
- use
git tag -a, not a lightweightgit tag - put the full release notes directly in the tag message
- the first line becomes the top of the release body
- the rest can be bullets, migration notes, or known issues
If the annotated tag message is empty, the workflow falls back to a generic body.
For nightly prereleases, the body is still generated automatically by the workflow.
PSRCHIVE Viewer 0.0.2
- New: ...
- Improved: ...
- Fixed: ...
Notes:
- Any migration or manual follow-up
- Any known limitation
- Stable tags rewrite the packaged app version to the tag version, for example
v0.0.2 -> 0.0.2 mainbuilds rewrite the packaged app version to a nightly semver prerelease like0.0.2-nightly.153- Stable installs only receive stable releases
- Nightly installs only receive GitHub prereleases
- The packaged app starts and initializes
electron-updater - It checks GitHub Releases in the background
- If a matching update exists, the title bar shows an update action
- Clicking it downloads the update
- After download completes, clicking again restarts the app and installs the update
npm run devdoes not exercise the real auto-update path; use a packaged app to verify updater behavior- GitHub Actions needs
contents: writepermissions, or aRELEASE_TOKENsecret with release permissions