Skip to content

feat: add Homebrew cask distribution#65

Merged
NormallyGaussian merged 2 commits intomainfrom
feat/homebrew-tap
Mar 11, 2026
Merged

feat: add Homebrew cask distribution#65
NormallyGaussian merged 2 commits intomainfrom
feat/homebrew-tap

Conversation

@NormallyGaussian
Copy link
Copy Markdown
Contributor

Summary

  • Adds Homebrew tap support: brew install parallel-web/tap/parallel-cli
  • Cask template at homebrew/parallel-cli.rb with quarantine stripping (no Apple Developer account needed)
  • Script (scripts/update-homebrew-formula.py) generates cask with real SHA256 checksums from GitHub releases
  • publish-homebrew job in release.yml auto-updates the tap on stable releases (skips RCs)
  • README and MAINTAINERS.md updated

Tested locally against v0.1.2 — fresh download, install, version check, and live API call all passed with no Gatekeeper popup.

Steps to activate

1. Create the tap repo

Create parallel-web/homebrew-tap on GitHub:

  • Public repo
  • Initialize with a README (so it has a main branch)
  • Add a Casks/ directory with an initial parallel-cli.rb (the CI will overwrite it on first release, or you can seed it manually — see step 3)

2. Add the HOMEBREW_TAP_TOKEN secret

Create a GitHub fine-grained PAT (or classic PAT with repo scope) that has write access to parallel-web/homebrew-tap.

Then add it as a secret in this repo (parallel-web/parallel-web-tools):

  • Go to Settings → Secrets and variables → Actions
  • Add HOMEBREW_TAP_TOKEN with the PAT value

3. Seed the tap with v0.1.2 (optional)

To make Homebrew work before the next release, generate and push the cask for the current release:

# Generate cask with real checksums from v0.1.2
uv run python scripts/update-homebrew-formula.py --version 0.1.2 --output /tmp/parallel-cli.rb

# Clone the tap repo and add the cask
git clone git@github.com:parallel-web/homebrew-tap.git /tmp/homebrew-tap
mkdir -p /tmp/homebrew-tap/Casks
cp /tmp/parallel-cli.rb /tmp/homebrew-tap/Casks/parallel-cli.rb
cd /tmp/homebrew-tap
git add -A && git commit -m "Add parallel-cli cask v0.1.2" && git push

4. Verify

brew install parallel-web/tap/parallel-cli
parallel-cli --version

After this, every future stable release will automatically update the cask in the tap.

Test plan

  • Generated cask with real v0.1.2 checksums
  • Installed via local Homebrew tap — clean install, no warnings
  • No Gatekeeper popup (quarantine stripped in preflight)
  • parallel-cli --version returns 0.1.2
  • parallel-cli search works end-to-end
  • Uninstall/reinstall cycle clean
  • CI: publish-homebrew job runs on next stable release

Add Homebrew tap support so users can install with:
  brew install parallel-web/tap/parallel-cli

- Add cask template at homebrew/parallel-cli.rb
- Add script to generate cask with real SHA256 checksums from releases
- Add publish-homebrew job to release.yml (stable releases only, skips RCs)
- Update README and MAINTAINERS.md with Homebrew install instructions
Pass event inputs via env vars instead of inline ${{ }} interpolation
in shell run blocks, preventing potential command injection via
crafted tag names.
@NormallyGaussian NormallyGaussian marked this pull request as ready for review March 11, 2026 05:20
@NormallyGaussian NormallyGaussian merged commit 979f831 into main Mar 11, 2026
7 checks passed
@NormallyGaussian NormallyGaussian deleted the feat/homebrew-tap branch March 11, 2026 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant