GitHub Release Best Practices (reference only)
Canonical procedure: release-guard
Canonical CLI:./scripts/release-manager.sh ship --execute
GitHub Release creator:.github/workflows/release.yml(tag push only)
Do not invent a second release path. This file is supporting context only.
Prep before ship (via PR to main)
- Bump workspace
versionin rootCargo.toml(all members follow workspace). - Update
CHANGELOG.mdwith exactly one## [X.Y.Z] - YYYY-MM-DD(unique version headers — cargo-dist/parse-changelog fails silently on duplicates → empty GitHub Release body). - Set Released Version in
plans/ROADMAPS/ROADMAP_ACTIVE.mdandplans/STATUS/CURRENT.mdtovX.Y.Z. - Merge PR; wait for main CI green.
- Run:
./scripts/release-manager.sh ship --execute - Confirm notes:
gh release view vX.Y.Zshows## Release Notescontent (v0.1.34/v0.1.35 format).
Semver (0.x)
| Change | Bump |
|---|---|
| Breaking | minor or major (team call) |
| Feature | minor preferred |
| Fix | patch |
Changelog categories
Added · Changed · Deprecated · Removed · Fixed · Security
Forbidden
# DO NOT — bypasses cargo-dist and release.yml preflight
gh release create vX.Y.Z ...
References
- ADR-034 Release Engineering
.agents/skills/release-guard/SKILL.md./scripts/release-manager.sh