| name | release |
| description | Release develop to main with multi-module tags and GitHub release. Usage: /release VERSION (e.g. /release v0.13.0) |
Release
Execute Phases 4–6 of the Feature Branch Release Procedure for version: $ARGUMENTS
Read the full procedure before starting: @../docs/procedures/release.md
Steps
Phase 4 — Merge to main:
- Check for cross-module API changes:
git diff vOLD..HEAD -- channel/ pipe/
- Update CHANGELOG: move [Unreleased] to new version section with date
- Create release PR:
gh pr create --base main --head develop --title "release: VERSION"
- Show PR checks
- PAUSE: ask for approval before merge
gh pr merge --merge
Phase 5 — Tag and release:
git checkout main && git pull origin main
- Determine if go.mod refs need updating (cross-module API changes?)
- PAUSE: ask for approval before creating tags
- Create tags in dependency order:
channel/VERSION, pipe/VERSION, message/VERSION
- PAUSE: ask for approval before pushing tags
- Push module tags + bare version tag
gh release create VERSION --title "VERSION" --notes "..."
Phase 6 — Post-release:
git checkout develop && git merge main && git push origin develop
- Verify module publication:
go list -m github.com/fxsml/gopipe/channel@VERSION
- Report release URL
Rules
- Never skip an approval gate
- Tag in dependency order: channel → pipe → message
- Check cross-module API changes before deciding whether to update go.mod refs
- Merge back to develop after release