ci: publish homebrew formula via SSH deploy key#21
Merged
Conversation
Switches goreleaser's brew tap publishing from the GitHub Contents API (authenticated as github-actions[bot], which can't be a Rulesets bypass actor) to git-over-SSH using a repo-scoped deploy key. The Deploy key is selectable as a Rulesets bypass actor, so the formula commit can land on main without relaxing branch protection for the rest of the repo. Requires: - A new SSH deploy key on the repo with "Allow write access" enabled. - Repo secret RELEASE_DEPLOY_KEY containing the matching private key. - The Rulesets bypass list includes "Deploy keys". Also adds commit_msg_template to keep the existing "chore: regenerate homebrew formula" message format.
AugustHall
approved these changes
May 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
After v2.1.0/v2.1.1/v2.1.2, when branch protection on `main` requires verified signatures and PR review, goreleaser's default Contents API push is blocked because:
Deploy keys, by contrast, are a selectable Rulesets bypass actor type and authenticate over SSH/git.
What this changes
Setup checklist (must be done before this lands or the next release will fail)
Test plan