Skip to content

Add tailscale/homebrew-tap automated release - #53

Merged
guygrigsby merged 3 commits into
mainfrom
guygrigsby/homebrew-tap
Oct 27, 2026
Merged

guygrigsby merged 3 commits into
mainfrom
guygrigsby/homebrew-tap

Conversation

@guygrigsby

Copy link
Copy Markdown
Contributor
  • release: print the installed version in the GNU flag form
  • release: publish the Homebrew formula from goreleaser
  • release: authenticate to the tap with a GitHub App token

install.sh called the binary it had just installed as `aperture -version`.
gnuForm rewrites that single-dash long form and warns on stderr, so every
fresh install ended on a deprecation notice about a flag the user never
typed.

`--version` works on every release install.sh can install. Pre-0.1.0
binaries parsed flags with the standard library's flag package, which treats
one and two leading dashes alike.

A scripts test holds the GNU form because no Go test sees the installer's
output.
Hand-editing the tap formula each release means the version and both
darwin sha256 values drift from the notarized archives. Goreleaser already
has the final archives and hashes at the end of the release job, so it
commits the formula straight to the tap's default branch with no PR to
merge. The brews section is deprecated in goreleaser v2 in favour of
homebrew_casks; revisit if it is removed or if the tap moves to a cask.
A PAT is tied to one person's account and long-lived, so the release
pipeline breaks when they leave and a leaked token stays valid. The App
installation token is minted per run, expires within the hour and is
scoped to the tap repo only. Commits use the App's bot identity via
use_github_app_token. Revisit if the tap moves to a repo the App is not
installed on.
@guygrigsby
guygrigsby merged commit 820a71a into main Oct 27, 2026
3 checks passed
@guygrigsby
guygrigsby deleted the guygrigsby/homebrew-tap branch October 27, 2026 17:35
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.

1 participant