Migrate fizzy-cli to basecamp/tap/fizzy

Merged
RO
3mo ago
+36-50

[!WARNING]
Do not merge until a stable fizzy-cli tag has published Casks/fizzy.rb to basecamp/homebrew-tap.
Merging first deletes the only formula 3.0.3 users can resolve and points them at a cask that does not exist yet.

What this does

Migrates existing robzolkos/fizzy-cli installs to the fizzy cask in basecamp/homebrew-tap.

  • Adds tap_migrations.json mapping fizzy-cli → basecamp/tap/fizzy
  • Deletes Formula/fizzy-cli.rb
  • Rewrites the README as a migration notice

Both file changes are required in the same commit: Homebrew's migrate_tap_migration only runs for formulae that show up as deleted in the brew update diff. tap_migrations.json alone is inert while the formula file still exists.

Why it isn't needed until then

basecamp/fizzy-cli/.goreleaser.yaml already declares homebrew_casks and scoops targeting basecamp/homebrew-tap, both with skip_upload: auto. Every tag since that config landed has been a -rc.* prerelease, so nothing has been published. The first stable tag publishes the cask and the Scoop manifest automatically — no PR against basecamp/homebrew-tap is needed or wanted, since its casks are GoReleaser-generated and marked DO NOT EDIT.

What users experience after merge

brew update picks up the migration. Two paths:

  • Already have basecamp/tap tapped — Homebrew auto-migrates: unlink → cleanup → install --cask basecamp/tap/fizzy, then prompts for brew uninstall --formula --force fizzy-cli.
  • Don't have it tapped (most users) — basecamp/tap is third-party and untrusted, so Homebrew will not tap it automatically. It prints the commands instead:
    brew tap basecamp/tap
    brew trust basecamp/tap/fizzy
    brew migrate fizzy-cli
    

No breakage either way, but the second path is manual. Worth repeating those commands in the stable release notes.

Pre-merge checklist

  • Stable tag cut; Casks/fizzy.rb present in basecamp/homebrew-tap
  • HOMEBREW_TAP_TOKEN confirmed set on basecamp/fizzy-cli (otherwise the cask/Scoop upload silently no-ops)
  • brew install --cask basecamp/tap/fizzy verified clean on a machine without the old formula
  • Migration commands added to the release notes