Skip to content

ci: notify homebrew tap on published release - #67

Merged
scbrown merged 1 commit into
mainfrom
ci/notify-tap-aegis-em2
Nov 10, 2026
Merged

scbrown merged 1 commit into
mainfrom
ci/notify-tap-aegis-em2

Conversation

@scbrown

@scbrown scbrown commented Nov 10, 2026

Copy link
Copy Markdown
Collaborator

Adds a final notify-tap job to .github/workflows/release.yml that sends repository_dispatch (stack-release) to scbrown/homebrew-tap once a release is published, so the tap regenerates now rather than at its next hourly run. Approved 2026-11-10 (aegis-em2 / aegis-7q7b). Pairs with the scbrown/homebrew-tap PR that adds the repository_dispatch trigger.

Inactive until HOMEBREW_TAP_DISPATCH_TOKEN is set (aegis-7q7b).

  • Gate job: goreleaser, plus release_created on the main-push arm. if: also requires github.event_name != 'pull_request'.
  • Tag binding: needs.goreleaser.outputs.release_tag

Fail-closed behaviour (each exits 0 with no dispatch and does not fail the release run):

  • HOMEBREW_TAP_DISPATCH_TOKEN empty: ::warning:: and exit 0.
  • Repo or tag not matching a strict regex: warning, no dispatch.
  • gh api repos/$REPO/releases/tags/$TAG fails, or the release is a draft or prerelease: no dispatch.
  • Any reply other than HTTP 204 (redirects are not followed; no -L): warning, no dispatch.

Safety: fixed URL https://api.github.com/repos/scbrown/homebrew-tap/dispatches; body built with jq from env vars; curl --fail --proto =https; token passed to curl on stdin (--config -), never on a command line or echoed; job-level permissions: contents: read only; no third-party actions. The payload is informational: the tap still regenerates from each repo's latest stable release, and the hourly schedule stays as reconciliation.

Validation: actionlint 1.7.12 (with shellcheck) clean for the new job; no new findings versus main. Step script exercised locally with stubbed gh/curl: no token, bad tag, draft, prerelease, 302 and 204 cases.

🤖 Generated with Claude Code

Add a final notify-tap job that sends a stack-release repository_dispatch
to scbrown/homebrew-tap after the release is published. Fails closed and
never fails the release run. Inactive until HOMEBREW_TAP_DISPATCH_TOKEN is
set (aegis-7q7b).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@scbrown scbrown changed the title ci: notify homebrew tap on published release (aegis-em2) ci: notify homebrew tap on published release Nov 10, 2026
@scbrown scbrown closed this Nov 10, 2026
@scbrown scbrown reopened this Nov 10, 2026
@scbrown
scbrown merged commit 2ac6c1d into main Nov 10, 2026
7 of 8 checks passed
@scbrown
scbrown deleted the ci/notify-tap-aegis-em2 branch November 10, 2026 19:36
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