ci(release): publish homebrew formula on tag#86
Merged
Conversation
Adds a `homebrew` job after `release` that downloads sha256sums.txt from the freshly-published GitHub Release, renders Formula/ocync.rb with platform blocks for macOS arm64, Linux amd64-fips, Linux arm64-fips, and pushes the formula to clowdhaus/homebrew-taps. Requires HOMEBREW_TAP_TOKEN secret (fine-grained PAT with Contents: write on homebrew-taps). Skips the commit if the formula is unchanged so re-tags do not produce empty commits. Install becomes: brew install clowdhaus/taps/ocync
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
homebrewjob at the end ofrelease.yml, gated onreleasesucceeding.v*tag push, downloadssha256sums.txtfrom the freshly-published GitHub Release, rendersFormula/ocync.rb, commits and pushes it toclowdhaus/homebrew-taps.README.mdinstall block anddocs/src/content/getting-started.md.Install becomes:
Setup required
Repo secret
HOMEBREW_TAP_TOKEN(already configured) — fine-grained PAT scoped toclowdhaus/homebrew-tapswithContents: read/write. PAT expiry will silently fail the homebrew step on a future release without affecting the binary release itself.Design notes
sha256sums.txtfrom the GitHub Release rather than re-uploading it as a workflow artifact. Proves the file actually shipped to the release before trusting its SHAs, and avoids editing the existingreleasejob.bin.install "filename" => "ocync". Other formulas in the tap (eksup,cookiecluster,ktime) use the tarball pattern viaupdate_sha256.sh; ocync's release artifacts are raw binaries with-fipssuffix on Linux and no macOS Intel build, so it gets a self-contained renderer in the workflow rather than extending that script.git diff --cached --quietso re-tagging the same version is idempotent.-fipssuffix in the URL is invisible to brew users.Coverage
ocync-macos-arm64ocync-fips-linux-amd64ocync-fips-linux-arm64ocync-windows-amd64.exeTest plan
releasesucceeds.Formula/ocync.rblands onclowdhaus/homebrew-taps:mainwith correct version, SHAs, and URLs.brew tap clowdhaus/taps && brew install ocync && ocync --versionon macOS arm64.brew install clowdhaus/taps/ocync && ocync --versionon Linux (amd64 or arm64).