Skip to content

ci: mint homebrew-tap token via GitHub App instead of PAT#105

Merged
steve-calvert-glean merged 1 commit into
mainfrom
feat/homebrew-tap-via-github-app
May 1, 2026
Merged

ci: mint homebrew-tap token via GitHub App instead of PAT#105
steve-calvert-glean merged 1 commit into
mainfrom
feat/homebrew-tap-via-github-app

Conversation

@steve-calvert-glean
Copy link
Copy Markdown
Collaborator

@steve-calvert-glean steve-calvert-glean commented May 1, 2026

Updates the release workflow to mint a short-lived installation token at runtime instead of relying on a static PAT.

Test plan

  • Next release succeeds without manual token rotation

Replaces the classic-PAT-based auth for updating
gleanwork/homebrew-tap with a short-lived token minted by a GitHub
App at workflow runtime. PATs expire (v0.15.0 release hit a 401 when
the existing one went stale); app-minted tokens are 1-hour tokens
generated per run so there is nothing to rotate.

Requires two new repo secrets, populated separately:
  - HOMEBREW_TAP_APP_ID          app ID of the gleanwork-scoped App
  - HOMEBREW_TAP_APP_PRIVATE_KEY PEM contents

The existing HOMEBREW_TAP_GITHUB_TOKEN secret is no longer referenced
and can be removed once the next release succeeds.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@steve-calvert-glean steve-calvert-glean requested a review from a team as a code owner May 1, 2026 21:33
@steve-calvert-glean steve-calvert-glean merged commit adbcb9c into main May 1, 2026
7 checks passed
@steve-calvert-glean steve-calvert-glean deleted the feat/homebrew-tap-via-github-app branch May 1, 2026 21:36
steve-calvert-glean added a commit that referenced this pull request May 2, 2026
#108)

Tags pushed by the default GITHUB_TOKEN do not fire downstream
workflows (GitHub anti-loop protection). When release-please merged
the v0.16.0 release PR and created the v0.16.0 tag using GITHUB_TOKEN,
release.yml never ran — binaries and homebrew-tap were stuck until
the tag was manually re-pushed from a local session.

Fix: release-please-action now uses a token minted by the existing
GitHub App (the one set up for homebrew-tap in #105). App-minted
tokens bypass the anti-loop filter, so tag pushes from release-please
fire release.yml normally.

Reuses the existing HOMEBREW_TAP_APP_ID / HOMEBREW_TAP_APP_PRIVATE_KEY
secrets. The App is now installed on both gleanwork/homebrew-tap and
gleanwork/glean-cli. Naming mismatch acknowledged; can rename the
secrets in a follow-up if desired.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants