ci: Automate Homebrew tap formula bump on release publish#54
Open
dweekly wants to merge 1 commit into
Open
Conversation
The tap (dweekly/homebrew-ftr) was a manual, undocumented release step and fell 4 versions behind (stuck at v0.6.0 while crates.io had v0.10.0). Add a publish-homebrew job that runs alongside the crates.io publish when a release is published: computes the tag tarball SHA256, rewrites the formula's url/sha256 in the tap repo, and pushes. Requires a HOMEBREW_TAP_TOKEN repo secret (fine-grained PAT with push access to dweekly/homebrew-ftr). Documents the Homebrew channel, required secrets, and a manual fallback in RELEASE_PROCESS.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #54 +/- ##
=======================================
Coverage 84.31% 84.31%
=======================================
Files 36 36
Lines 6663 6663
=======================================
Hits 5618 5618
Misses 1045 1045
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
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.
Why
The Homebrew tap (
dweekly/homebrew-ftr) was never part of the automated release pipeline and wasn't inRELEASE_PROCESS.mdeither — every bump was a hand-authored commit. It fell 4 releases behind: the formula served v0.6.0 while crates.io had v0.10.0. (The formula has since been manually bumped to v0.10.0.)What
publish-homebrewjob inrelease.yml, gated the same way as the crates.io publish (release published, not prerelease): downloads the tag's source tarball, computes its SHA256, rewritesurl/sha256in the tap'sftr.rb, and pushes. No-ops if the formula is already current.RELEASE_PROCESS.md: documents the Homebrew channel in pipeline/verification steps, adds a Required Secrets section, and a manual-fallback troubleshooting entry (including the download-then-hash gotcha that bit the v0.6.0 bump).Action required before this works
Add a
HOMEBREW_TAP_TOKENrepository secret: a fine-grained PAT scoped todweekly/homebrew-ftrwith Contents read/write. The defaultGITHUB_TOKENcan't push cross-repo.Testing
^ url/^ sha256so theheadline is untouched (verified against the live formula)🤖 Generated with Claude Code