Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 1.53 KB

File metadata and controls

41 lines (31 loc) · 1.53 KB

Releasing

This repo uses conventional commits on main plus release-please and goreleaser.

Release model

  • Release-bearing changes should land on main with conventional commit subjects.
  • Prefer squash or rebase merges for release-bearing PRs so main keeps parseable release commits.
  • release-please watches main, opens a release PR, updates CHANGELOG.md, and bumps the version manifest.
  • Merging the release PR triggers tag-release, which creates the Git tag from the merged release commit.
  • tag-release then dispatches the release workflow for that tag so goreleaser builds artifacts, creates the GitHub Release, and updates hack-dance/homebrew-tap.

Required secrets

  • RELEASE_PLEASE_TOKEN Use this if you want CI to run on release PRs opened by release-please. If omitted, the workflow falls back to the default GitHub token.
  • HOMEBREW_TAP_GITHUB_TOKEN Token with write access to hack-dance/homebrew-tap.

Maintainer flow

  1. Merge conventional-commit changes into main.
  2. Wait for the release-please workflow to open or update the release PR.
  3. Review the generated version and changelog.
  4. Merge the release PR.
  5. Verify tag-release pushed the expected vX.Y.Z tag.
  6. Verify the dispatched release workflow published artifacts and updated the Homebrew tap.

Local dry run

mise install
mise exec -- go test ./...
mise exec -- go build ./...
goreleaser release --snapshot --clean

Use snapshot mode locally so you can verify archives and formulas without creating a tag.