Skip to content

chore: promote homebrew-core as primary macOS install path#299

Merged
leggetter merged 4 commits into
mainfrom
chore/promote-homebrew-core
Jun 4, 2026
Merged

chore: promote homebrew-core as primary macOS install path#299
leggetter merged 4 commits into
mainfrom
chore/promote-homebrew-core

Conversation

@leggetter
Copy link
Copy Markdown
Collaborator

@leggetter leggetter commented Jun 4, 2026

Summary

Follow-up to the homebrew-core acceptance (merged 2026-06-04 via Homebrew/homebrew-core#286152). Updates this repo to reflect homebrew-core as the canonical stable install path, with the third-party hookdeck/homebrew-hookdeck tap retained only for beta. Tracked in #297.

Two logical commits:

  • chore(release): stop publishing stable hookdeck formula to third-party tap.goreleaser/mac.yml brews block now uses a fixed hookdeck-beta name with skip_upload gated to pre-release tags. Stable releases no longer try to publish hookdeck.rb to the tap (the tap's stale formula files will be removed in a follow-up PR on the tap repo, replaced by tap_migrations.json redirecting to homebrew-core).
  • docs(readme): promote homebrew-core as the primary macOS install path — README macOS section, Releasing section, and Troubleshooting all updated. The stale "Homebrew: Binary Already Exists Error" troubleshooting entry (leftover from the abandoned cask migration) is replaced with three relevant entries: tap-to-core migration, hookdeck/hookdeck-beta link conflicts, and beta tap-trust note.

Sequencing — important

This PR must merge before the tap migration PR on hookdeck/homebrew-hookdeck. Otherwise a future stable release could re-publish hookdeck.rb to the tap (GoReleaser config not yet updated) and undo the migration.

Order:

  1. This PR → merge into main
  2. Tap PR (hookdeck/homebrew-hookdeck) → delete stale hookdeck.rb files + add tap_migrations.json
  3. Existing tap users get auto-migrated to homebrew-core on next brew update

Beta channel: no behavior change

  • hookdeck-beta formula stays in the tap, published on every pre-release tag (unchanged)
  • The caveats: block's {{ if .Prerelease }}...{{ end }} conditional has been removed since the formula is now always beta. The "BETA version" warning is unconditional.
  • README and --help install guidance for beta users includes the upcoming brew trust --formula hookdeck/hookdeck/hookdeck-beta step that becomes mandatory in Homebrew 5.2.0 / 6.0.0 (Homebrew tap trust will become default — update install docs and release notes ahead of 5.2.0 #294 context).

Test plan

  • CI: build, acceptance, test-homebrew-build, test-npm-build all pass
  • CI: test-homebrew-build validates that the GoReleaser config still produces a syntactically valid formula on a snapshot build
  • Manual: goreleaser release --snapshot --skip publish --clean --config .goreleaser/mac.yml succeeds locally — exit 0; writes dist/homebrew/Formula/hookdeck-beta.rb only (not hookdeck.rb); class HookdeckBeta; caveats unconditional beta.
  • Manual: README [!NOTE] callout and code-fenced trust commands are well-formed (every line starts with >, code fences balanced; GitHub will render as a styled note alert).
  • Smoke: README install references audited. Every brew install hookdeck/hookdeck/... is the -beta formula; the unqualified brew install hookdeck is the only stable path documented. No lingering "tap is primary" framing.

🤖 Generated with Claude Code

leggetter and others added 2 commits June 4, 2026 16:25
…y tap

The stable `hookdeck` formula now lives in homebrew-core (merged 2026-06-04)
and is auto-bumped by Homebrew's BrewTestBot. The third-party
`hookdeck/homebrew-hookdeck` tap continues to host only `hookdeck-beta`
(homebrew-core does not accept pre-releases).

The brews block now uses a fixed `hookdeck-beta` name with `skip_upload`
gated to pre-release tags, so stable releases will no longer overwrite the
tap's `hookdeck.rb`. A follow-up PR on the tap repo removes the stale
stable formula files and adds `tap_migrations.json` to redirect existing
tap users to homebrew-core.

Refs #297

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`hookdeck` is now in homebrew-core, so the default macOS install is
`brew install hookdeck` (no tap, no trust step). The third-party tap is
demoted to "for beta releases only" with a note about the upcoming
`HOMEBREW_REQUIRE_TAP_TRUST` default flip.

Replaces the stale Troubleshooting entry (cask-migration leftover from
an abandoned cask plan) with three relevant entries: tap → homebrew-core
migration, hookdeck/hookdeck-beta link conflicts, and beta tap-trust.

Refs #297

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
leggetter and others added 2 commits June 4, 2026 16:57
…k.rb

The GoReleaser brews block now produces `hookdeck-beta.rb` only (the stable
`hookdeck` formula lives in homebrew-core). The test-homebrew-build CI was
still validating `dist/homebrew/Formula/hookdeck.rb`, which no longer exists.

Updates:
- `test-scripts/test-homebrew-build.sh`: validate_formula now reads
  `hookdeck-beta.rb`; the install-test path (gated by `--install` flag,
  workflow_dispatch only) targets the `hookdeck-beta` formula name.
- `.github/workflows/test-homebrew-build.yml`: upload artifact path
  updated to `hookdeck-beta.rb`.

Verified locally: `./test-scripts/test-homebrew-build.sh` exits 0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The validation script's header and success summary still claimed to verify
that the formula contains deprecation warnings — a leftover from when the
tap's `hookdeck.rb` carried a "being deprecated in favor of cask" notice.
That notice was removed from the tap formula a while back, and there has
been no actual `grep` check for deprecation warnings in this script. Drops
the two stale lines.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@leggetter leggetter merged commit eeaecc8 into main Jun 4, 2026
15 of 16 checks passed
@leggetter leggetter deleted the chore/promote-homebrew-core branch June 4, 2026 16:32
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