ci: release binaries with GoReleaser, from Forgejo #76

Merged
jwarykowski merged 1 commit from fix/release-wait-for-mirror into master 2026-10-15 03:12:39 +00:00
Owner

Makes shepherd release the way keybars and drover do.

  • A version bump in herdr-plugin.toml on master or pro still triggers the release.
  • release.sh now only tags the commit and waits for the push mirror to carry the tag to GitHub; the formula and archive code is gone.
  • GoReleaser (.goreleaser.yaml) builds macOS and Linux binaries, publishes the GitHub release (pre-releases marked as such), and opens the tap pull request: Formula/shepherd.rb for stable versions, Formula/shepherd-alpha.rb (depends on drover, conflicts with shepherd) for pre-releases.
  • The workflow merges that pull request, as before.
  • Formulas install the binary, so brew install no longer needs Go.

Needs GH_RELEASE_TOKEN on Forgejo: a GitHub token with Contents write on shepherd and homebrew-tap, and Pull requests write on homebrew-tap.

Tested: goreleaser check, a local goreleaser release --snapshot (both formulas rendered correctly), shellcheck and dry runs of release.sh. Not tested: a real release.

Makes shepherd release the way keybars and drover do. - A version bump in `herdr-plugin.toml` on `master` or `pro` still triggers the release. - `release.sh` now only tags the commit and waits for the push mirror to carry the tag to GitHub; the formula and archive code is gone. - GoReleaser (`.goreleaser.yaml`) builds macOS and Linux binaries, publishes the GitHub release (pre-releases marked as such), and opens the tap pull request: `Formula/shepherd.rb` for stable versions, `Formula/shepherd-alpha.rb` (depends on drover, conflicts with shepherd) for pre-releases. - The workflow merges that pull request, as before. - Formulas install the binary, so `brew install` no longer needs Go. Needs `GH_RELEASE_TOKEN` on Forgejo: a GitHub token with Contents write on shepherd and homebrew-tap, and Pull requests write on homebrew-tap. Tested: `goreleaser check`, a local `goreleaser release --snapshot` (both formulas rendered correctly), shellcheck and dry runs of `release.sh`. Not tested: a real release.
ci: release binaries with GoReleaser, from Forgejo
All checks were successful
pull-request / lint-and-test (pull_request) Successful in 1m20s
5f3639f585
Version bumps still trigger releases, but release.sh now only tags and
waits for the push mirror to carry the tag to GitHub; GoReleaser builds
macOS and Linux binaries, publishes the GitHub release (pre-releases from
pro marked as such) and opens the tap pull request, which the workflow
merges. The formulas install the binary instead of building with Go.
jwarykowski deleted branch fix/release-wait-for-mirror 2026-10-15 03:12:39 +00:00
Sign in to join this conversation.
No description provided.