This repo uses conventional commits on main plus release-please and
goreleaser.
- Release-bearing changes should land on
mainwith conventional commit subjects. - Prefer squash or rebase merges for release-bearing PRs so
mainkeeps parseable release commits. release-pleasewatchesmain, opens a release PR, updatesCHANGELOG.md, and bumps the version manifest.- Merging the release PR triggers
tag-release, which creates the Git tag from the merged release commit. tag-releasethen dispatches thereleaseworkflow for that tag sogoreleaserbuilds artifacts, creates the GitHub Release, and updateshack-dance/homebrew-tap.
RELEASE_PLEASE_TOKENUse this if you want CI to run on release PRs opened byrelease-please. If omitted, the workflow falls back to the default GitHub token.HOMEBREW_TAP_GITHUB_TOKENToken with write access tohack-dance/homebrew-tap.
- Merge conventional-commit changes into
main. - Wait for the
release-pleaseworkflow to open or update the release PR. - Review the generated version and changelog.
- Merge the release PR.
- Verify
tag-releasepushed the expectedvX.Y.Ztag. - Verify the dispatched
releaseworkflow published artifacts and updated the Homebrew tap.
mise install
mise exec -- go test ./...
mise exec -- go build ./...
goreleaser release --snapshot --cleanUse snapshot mode locally so you can verify archives and formulas without creating a tag.