Fix #938: Homebrew tap auto-bump on stable release#976
Merged
Conversation
After the GitHub Release is published, push an updated Cask to binaricat/homebrew-netcatty so `brew install binaricat/netcatty/netcatty` stays current within minutes of the release. Stable tags only — prerelease tags (v1.2.0-rc.1 etc.) are skipped to keep brew users on stable. Implementation: - New script .github/scripts/bump-homebrew-cask.sh computes SHA-256 of the arm64 + x64 DMGs already downloaded by the release job, sed-patches the Cask file in the tap repo, sanity-checks the result parses as Ruby, and pushes the bump. Idempotent on re-run when checksums match. - New homebrew-tap job in build.yml runs after the release job on the same stable-tag gate, downloads the macOS artifact bundle, then runs the bump script with HOMEBREW_TAP_TOKEN. Requires HOMEBREW_TAP_TOKEN secret with contents:write on binaricat/homebrew-netcatty. With the secret missing the job will fail fast at the env-var check with no side effects (no push attempted). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Summary
Closes #938.
Sets up a public Homebrew tap at binaricat/homebrew-netcatty and wires the release pipeline to push a fresh Cask on every stable release tag. After this lands, macOS users can install Netcatty with:
```bash
brew install binaricat/netcatty/netcatty
```
`brew upgrade` picks up new releases automatically — the Cask URL points at the same Developer ID signed + Apple notarized DMGs already published to this repo's GitHub Releases, so it's literally the same bits.
What's in this PR
What's already done outside this PR
What @binaricat needs to do before this is fully wired
Add a repo secret called `HOMEBREW_TAP_TOKEN` with a fine-grained PAT scoped to `contents:write` on `binaricat/homebrew-netcatty`. Until that secret exists the new job will fail fast at the env-var check with no side effects (no push attempted, no half-bumped Cask).
Test plan
🤖 Generated with Claude Code