Distribute fessctl via Homebrew (codelibs/homebrew-tap)#30
Open
Distribute fessctl via Homebrew (codelibs/homebrew-tap)#30
Conversation
Switch from a fine-grained PAT (HOMEBREW_TAP_TOKEN) to a GitHub App installation token via actions/create-github-app-token. This avoids PAT rotation and scopes access to the tap repo only. Requires repo settings on codelibs/fessctl: - variable HOMEBREW_TAP_APP_ID - secret HOMEBREW_TAP_APP_PRIVATE_KEY
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 end-to-end Homebrew distribution for fessctl. On every
v*tag push, arelease workflow renders a
Formula/fessctl.rband opens a bump PR againstcodelibs/homebrew-tapso users can install viabrew tap codelibs/tap && brew install fessctl.What's in this branch
tools/render_formula.py+tools/fessctl.rb.j2)uv.lock, resolves sdist URL+sha256 per dependency, fetches thesource tarball sha256 by streaming, and renders the formula via Jinja2
(
StrictUndefined, alphabetically sorted resources).NoSdistErrorif any transitive dep is wheel-only on PyPI so wefail loudly rather than ship a broken formula.
.github/workflows/release.yml)v*. Validates tag matchespyproject.tomlversion.actions/create-github-app-token@v1(no long-lived PAT) and pushes a bump branch + PR to
codelibs/homebrew-tap.codelibs/fessctl:HOMEBREW_TAP_APP_IDHOMEBREW_TAP_APP_PRIVATE_KEY0.2.0(the first Homebrew release).jinja2>=3.1.0(only used by the renderer in CI).Test plan
pytest— 112 tests pass (8 new for the renderer, including a golden-file test).uv.lock— produces a valid 17-resource formula.codelibs/homebrew-tap) created and CI scaffold pushed.v0.2.0and confirm the release workflow opens a tap PR.macos-15,macos-14,ubuntu-latest.brew tap codelibs/tap && brew install fessctl && fessctl --helpon a clean machine.