goreleaser v2 marks brews deprecated (https://goreleaser.com/deprecations#brews) and recommends homebrew_casks. We deliberately kept the formula in the release automation PR because:
- Homebrew casks are macOS-only; the existing tap (
tobert/homebrew-otel-cli) serves Linux users too.
- Switching install mechanism forces every current
brew install otel-cli user to uninstall and reinstall as a cask.
- Unsigned/un-notarized cask binaries hit Gatekeeper quarantine on macOS; the goreleaser docs suggest an
xattr post-install hook to bypass it, which is its own can of worms.
Consequences today: goreleaser check exits non-zero on the deprecation, so CI validates the config with a snapshot build instead of check.
Decide before goreleaser v3 removes brews: keep a hand-maintained formula in the tap (goreleaser writes the URL/sha updates? no — it would then be fully manual), move to a cask (macOS only, plus Linux users fall back to apk/deb/rpm/go install), or ship both a cask and a formula.
🤖 Generated with Claude Code
goreleaser v2 marks
brewsdeprecated (https://goreleaser.com/deprecations#brews) and recommendshomebrew_casks. We deliberately kept the formula in the release automation PR because:tobert/homebrew-otel-cli) serves Linux users too.brew install otel-cliuser to uninstall and reinstall as a cask.xattrpost-install hook to bypass it, which is its own can of worms.Consequences today:
goreleaser checkexits non-zero on the deprecation, so CI validates the config with a snapshot build instead ofcheck.Decide before goreleaser v3 removes
brews: keep a hand-maintained formula in the tap (goreleaser writes the URL/sha updates? no — it would then be fully manual), move to a cask (macOS only, plus Linux users fall back to apk/deb/rpm/go install), or ship both a cask and a formula.🤖 Generated with Claude Code