kernelCAD releases have two public surfaces:
- the git tag, for source checkouts and package provenance
- the GitHub Release, for the release page and the
Latestmarker users see
A release is not complete until both surfaces agree with package.json.
After merging the release PR and pushing the tag, run:
npm run test:release-hygieneThat command fails if:
package.jsonis ahead of the highest local stable tagpackage.jsonis ahead of the highest remote stable tag onorigin- the matching GitHub Release is missing
- the matching GitHub Release is a draft or prerelease
- GitHub's latest release tag is not the package version tag
Use this checklist when publishing outside npm run release:
git fetch origin --tags
git tag vX.Y.Z <merged-develop-commit>
git push origin vX.Y.Z
gh release create vX.Y.Z --title "vX.Y.Z — <release title>" --notes-file RELEASE_NOTES.md --latest
npm run test:release-hygieneDo not report a release as published after only pushing vX.Y.Z; that leaves
GitHub Releases stale even though the tag exists.