ci(release): publish Homebrew tap formula on tagged releases#28
Merged
Conversation
Add an opt-in 'homebrew' job to the release workflow that renders and pushes Formula/sshx.rb to talkincode/homebrew-tap, gated on the HOMEBREW_TAP_TOKEN secret so releases without it are unaffected. Covers darwin/linux on amd64/arm64 via checksums.txt from the build job. Also documents the new brew install talkincode/tap/sshx path in README.md, README_CN.md, RELEASE.md, AGENT.md, and docs/roadmap.md, and adds a CHANGELOG entry. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.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
Adds a Homebrew distribution channel for
sshx, mirroring the pattern used intalkincode/scoot's release workflow.homebrewjob in.github/workflows/release.yml, running afterbuildon tag pushes.HOMEBREW_TAP_TOKENsecret; without it the job's steps are skipped and the rest of the release is unaffected.checksums.txtfrom the build artifacts, clonestalkincode/homebrew-tap, and rendersFormula/sshx.rbcoveringdarwin/linuxonamd64/arm64(Windows has no Homebrew equivalent).brew install talkincode/tap/sshxinstall path inREADME.md/README_CN.md.RELEASE.mdwith one-time setup steps (create tap repo, PAT,HOMEBREW_TAP_TOKENsecret) and verification instructions.AGENT.md§11 anddocs/roadmap.mdto reflect the new install path/capability.CHANGELOG.md [Unreleased]entry.Setup required before this is live
HOMEBREW_TAP_TOKEN(a fine-grained PAT scoped toContents: writeon atalkincode/homebrew-taprepo) needs to be added as a repository secret. Until then, the job safely no-ops.Bugfix reflection
Not applicable — this is a new capability (release automation), not a bug fix.
Verification run
python3 -c "import yaml; yaml.safe_load(open('.github/workflows/release.yml'))"— workflow YAML parses.ruby -cagainst a rendered sample formula — valid Ruby/Homebrew DSL syntax.checksums.txtsha-lookup shell logic locally — correct hash extraction and correct hard failure on a missing checksum.actionlint .github/workflows/release.yml— all reported findings are pre-existing (unrelated lines), nothing flagged in the newhomebrewjob.make check(fmt, vet, test) — all pass, unaffected since no Go code changed.Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com