build: publish a Homebrew formula instead of a cask - #36
Merged
Conversation
This is a CLI binary — no bundle, no installer, no service — which is formula territory rather than cask territory. Casks also flag their downloads with com.apple.quarantine, which is the only reason the ad-hoc codesign postflight hook existed here; formulae do not, so it is gone. GoReleaser deprecates `brews` on the grounds that binary-installing formulae are "hackyish" and were only needed because Linuxbrew could not handle casks. That constraint was never our reason for using them, and there is no announced removal date. Formulae work on Homebrew for Linux exactly as they do on macOS.
blairham
added a commit
that referenced
this pull request
Aug 15, 2026
The README predated several shipped changes: the Homebrew formula (#36), the action's install-only input (#31), and the bench script's move into .github/. It also pointed users at go install without warning that the binary lands as go-pre-commit while the installed hooks exec pre-commit by name. - README: add Homebrew install, document install-only, fix bench path, refresh version examples, note the go install binary-name gotcha, and document that make check does not lint - AGENTS.md: add missing internal/fsutil/ to the structure; drop the hardcoded goreleaser version (drift bait — .tool-versions is the pin) - action.yml: refresh the version input's example string - bench.sh: cd to the repo root, not .github/ — the script was moved there without updating its paths, so it could never find the binary
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.
Moves this repo from
homebrew_casks:back tobrews:.Why
A CLI binary with no bundle, no installer and no service is formula territory, not cask territory. Two concrete consequences of the cask:
brew servicesis unavailable to casks entirely — casks have noservicestanza.com.apple.quarantine. That is the only reason the ad-hoccodesignpostflight hook existed in this config. Formulae do not quarantine, so the workaround is deleted rather than carried forward.On the deprecation
GoReleaser marks
brewsdeprecated in favour ofhomebrew_casks. The stated reason:That is about Linuxbrew once being unable to handle casks — a constraint that was never our reason for using formulae. There is no announced removal date (soft since v2.10, formal since v2.16). Formulae work on Homebrew for Linux exactly as they always have, so nothing here regresses on Linux.
Verification
goreleaser checkpasses (with the expectedbrewsdeprecation notice), and a snapshot build emitsdist/homebrew/Formula/*.rbinstead ofCasks/*.rb.