-
Notifications
You must be signed in to change notification settings - Fork 20
Add Homebrew cask configuration #87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Updated goreleaser (and ko while we're in there) for homebrew cask support. |
|
I think you can manually tag on your branch and it should kick off the pipeline. Might need to adjust the branch protection rules on the other repo though. I know @lucaswilric had played with similar GitHub permissions stuff elsewhere for a different project, although I can't remember which one off hand. |
|
It looks like we might be able to push straight to master in that repo: https://github.com/buildkite/homebrew-buildkite/commits/master There's at least a linear history of commits by "buildkite-agent-releaser" and "goreleaserbot" (goreleaser's default commit identity). Neither seem to correspond to actual GitHub users. We do homebrew releases for test-engine-client: https://github.com/buildkite/test-engine-client/blob/main/.goreleaser.yaml#L28-L40 That's using a GitHub token stored in SSM: https://github.com/buildkite/test-engine-client/blob/main/.buildkite/pipeline.release.yml#L19 Will need to dig to figure out the principal. |
|
Oh I'm just failing at using GitHub's UI. https://github.com/buildkite-agent-releaser exists. So does https://github.com/goreleaserbot. The former is probably committer and pusher. The latter must be a committer, not sure of the pusher. |
|
We already have a GitHub token via aws assume identity and ssm, similar to test engine client: |
|
Confirmed, this release pipeline has a fine grained GitHub token with access to the homebrew tap. So I think this can be merged, and the next release will tell us if it's configured correctly - I think so! |


I'd like to
brew install buildkite/buildkite/buildkite-mcp-server. Goreleaser supports homebrew casks, and we have a homebrew tap, so let's switch it on!On this branch, I ran:
$ goreleaser release --snapshotThis generates casks like:
I copy pasted this into my local clone of the tap, adjusted it to the latest official v0.5.5 artifacts, and it works a treat:
I'll go update our tap to support formulae and casks, and add an initial cask based on the already released version.
I suspect we'll need to give our release pipeline permission to cut a new cask. I presume it already has some form of GitHub credential. We might need to adjust this to open a PR, I don't think it'll be able to push straight to main.
How do you test this release process nicely? Can we do a snapshot release or something?