52 lines · 2.3 KB · Markdown
RawDownload

summary: "Homebrew Cask release steps for CodexBar (Sparkle-disabled builds)." read_when:

  • Publishing a CodexBar release via Homebrew
  • Updating the Homebrew tap cask definition

CodexBar Homebrew Release Playbook

Homebrew is for the UI app via Cask. When installed via Homebrew, CodexBar disables Sparkle and shows a "update via brew" hint in About.

Prereqs

  • Homebrew installed.
  • Access to the tap repo: ../homebrew-tap.

1) Release CodexBar normally

Follow docs/RELEASING.md to publish CodexBar-macos-universal-<version>.zip to GitHub Releases.

2) Let the Release CLI workflow update the tap

After the GitHub release is published, .github/workflows/release-cli.yml builds the standalone CLI assets and dispatches steipete/homebrew-tap's update-formula.yml. That tap workflow updates both:

  • Casks/codexbar.rb for the app zip.
  • Formula/codexbar.rb for the standalone CLI tarballs.

If dispatch fails or is rate-limited, update the files manually.

2a) Manual cask update

In ../homebrew-tap, update the cask at Casks/codexbar.rb:

  • url points at the GitHub release asset: .../releases/download/v<version>/CodexBar-macos-universal-<version>.zip
  • Update sha256 to match that zip.
  • Keep depends_on macos: ">= :sonoma" (CodexBar is macOS 14+). Do not add an architecture restriction; the app zip is universal.

2b) Manual formula update

In ../homebrew-tap, update the formula at Formula/codexbar.rb:

  • url points at the GitHub release assets:
    • macOS: .../releases/download/v<version>/CodexBarCLI-v<version>-macos-arm64.tar.gz
    • macOS: .../releases/download/v<version>/CodexBarCLI-v<version>-macos-x86_64.tar.gz
    • Linux: .../releases/download/v<version>/CodexBarCLI-v<version>-linux-aarch64.tar.gz
    • Linux: .../releases/download/v<version>/CodexBarCLI-v<version>-linux-x86_64.tar.gz
  • Static musl tarballs are also published for manual Linux installs as linux-musl-aarch64 and linux-musl-x86_64; keep the formula on the glibc assets unless intentionally changing its runtime contract.
  • Update all sha256 values to match those tarballs.

3) Verify install

brew uninstall --cask codexbar || true
brew untap steipete/tap || true
brew tap steipete/tap
brew install --cask steipete/tap/codexbar
open -a CodexBar

4) Push tap changes

Commit + push in the tap repo.