- Keep the app version in
package.jsonas plain semantic version:X.Y.Z(for example,0.4.2). - Name every Git tag
vX.Y.Z(for example,v0.4.2). The tag must match the app version exactly. - Name every GitHub Release
Markfly vX.Y.Z(for example,Markfly v0.4.2). Do not add feature summaries to the title; put release notes in the release body. - Keep artifact names generated by electron-builder unchanged:
Markfly-X.Y.Z-arm64.<ext>.
-
Update
versioninpackage.jsonand the matchingversioninpackage-lock.json. -
Run
npm ciandnpm run build; runnpm run electron:buildwhen validating macOS packaging locally. -
Commit and merge the version bump to
main. -
From the merged commit, create and push the matching tag:
git switch main git pull --ff-only git tag vX.Y.Z git push origin vX.Y.Z
-
The
Build & ReleaseGitHub Actions workflow verifies tag/version match, builds macOS.dmg,.pkg, and.zipassets, then publishes the GitHub Release asMarkfly vX.Y.Zwith generated release notes. -
Check the workflow completed successfully. Verify release title, tag, generated notes, and all expected assets on GitHub.
Do not upload build artifacts manually unless the automated workflow is unavailable and a maintainer explicitly chooses a manual recovery.