Skip to content

ci: publish Scoop and Homebrew packages with GoReleaser - #3

Closed
zhangzhenghao wants to merge 1 commit into
mainfrom
feat/scoop-publish
Closed

zhangzhenghao wants to merge 1 commit into
mainfrom
feat/scoop-publish

Conversation

@zhangzhenghao

@zhangzhenghao zhangzhenghao commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Publish bucket/gorse-cli.json to gorse-io/scoop-bucket and Formula/gorse-cli.rb to gorse-io/homebrew-tap through GoReleaser after stable CLI releases.
  • Keep all standalone executable assets unchanged; add Windows ZIP and Unix TAR.GZ archives for package managers.
  • Generate architecture-specific URLs and SHA256 hashes pointing to gorse-io/cli, skipping bucket/tap publication for prerelease tags.
  • Document repository-scoped token requirements. No credentials are included or copied from local authentication.

Required setup

Before the first release, add these Actions secrets to gorse-io/cli:

  • SCOOP_BUCKET_TOKEN: fine-grained PAT for gorse-io/scoop-bucket, Contents read/write and permission to push to main.
  • HOMEBREW_TAP_TOKEN: equivalent permission for gorse-io/homebrew-tap.

Compatibility

Uses GoReleaser v2's deprecated but still supported brews publisher to update the existing Formula in place. Migrating the tap to Casks is outside this change. goreleaser check returns nonzero for this known deprecation; it reports the configuration as valid.

Verification

  • actionlint: passed.
  • git diff --check: passed.
  • Independent packaging configuration review: approved, no blockers.
  • GitHub Actions CI: passed for 36a872642a2313d1247e04569db154a9751b3d5c (run 39970639622): tests, vet, build, installer shell syntax.
  • Full goreleaser release --snapshot --clean --parallelism 2: passed; built all seven targets and generated both package-manager outputs. Snapshot started before the packaging commit, so its embedded SHA is acfa063; verified the tested configuration matches the committed files.
  • Validated generated Scoop amd64/arm64 and Homebrew macOS arm64/Linux amd64+arm64 URLs, SHA256 hashes against real archives, archive binary names, and retention of all seven standalone binaries.
  • Linux amd64 binary --version smoke test: passed.
  • Actual Homebrew install/test and Windows Scoop install were not run on this Linux host.
  • No actual release or cross-repository write is performed by these tests. Secrets are not yet configured.

@zhenghaoz zhenghaoz closed this Oct 23, 2026
@zhenghaoz
zhenghaoz deleted the feat/scoop-publish branch October 23, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants