Skip to content

Document Homebrew tap install and notify it on release - #66

Open
CharlieTLe wants to merge 1 commit into
mainfrom
homebrew-tap-docs
Open

Document Homebrew tap install and notify it on release#66
CharlieTLe wants to merge 1 commit into
mainfrom
homebrew-tap-docs

Conversation

@CharlieTLe

Copy link
Copy Markdown
Member

What this does

Documents the brew install cortexproject/tap/cortextool install path and notifies the tap when we release.

cortextool is now published through cortexproject/homebrew-tap, which exists and is green — the formula builds and passes brew test on macOS arm64, macOS x86_64, Linux x86_64 and Linux arm64.

  • README.md — a Homebrew section, including the brew trust step Homebrew 6 needs for a third-party tap.
  • RELEASE.md — how the tap keeps itself current, the optional HOMEBREW_TAP_TOKEN, the manual gh workflow run escape hatch, and the retag caveat.
  • .github/workflows/release.yml — one appended notify-tap job.

Why we ended up at a tap

We tried homebrew-core first: Homebrew/homebrew-core#299512. The formula was fine — it built, bottled, passed brew linkage and passed brew test on Homebrew's CI, with brew style clean — but it was declined on notability, and a maintainer told us to distribute via our own tap instead. Details in #65.

notify-tap cannot fail a release

It is purely an optimisation. The tap also polls for new releases every 6 hours, so this job only shortens the wait to about a minute. It is needs: release, continue-on-error: true, has permissions: {}, and is skipped entirely when HOMEBREW_TAP_TOKEN is unset — so if we never add the secret, or its token expires, releases are unaffected and the tap's schedule still picks them up.

HOMEBREW_TAP_TOKEN is optional and, if we want it, should be a fine-grained PAT scoped to cortexproject/homebrew-tap only, with Contents: write.

Not changed

.goreleaser.yml is untouched and no release artifact changes. The tap builds cortextool from source, so it does not consume our published binaries at all — which is also how it covers Linux arm64, a platform we publish no binary for.

Refs #65

Adds the `brew install cortexproject/tap/cortextool` install path to the README,
a RELEASE.md section covering the tap's self-update and the optional
`HOMEBREW_TAP_TOKEN`, and a `notify-tap` job that sends a `repository_dispatch`
so the tap bumps within a minute instead of waiting for its 6-hourly schedule.

The tap's formula builds from source, so it covers Linux arm64 too — we publish
no `linux/arm64` binary, so a binary-based formula could not have.

`.goreleaser.yml` is unchanged and no release artifacts change. `notify-tap` is
`continue-on-error`, has `permissions: {}`, and is skipped when the token is
unset, so it cannot fail a release; the tap's schedule is the fallback.

Refs #65

Signed-off-by: Charlie Le <charlie_le@apple.com>
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