packaging: migrate Homebrew publishing from brews to homebrew_casks#6
Merged
Conversation
goreleaser deprecated the `brews:` (formula) pipe in v2.16 in favour of
`homebrew_casks:` — `goreleaser check` fails the formula config as
"uses deprecated properties". Migrate the Homebrew publish accordingly:
- brews: -> homebrew_casks:
- install block (bin.install) -> binaries: [pg_hardstorage]
- drop the formula-only test: block
- add a postflight hook that strips the Gatekeeper quarantine xattr on
macOS (OS.mac?-guarded): the release binaries are cosign-signed but
not Apple-notarised, so without it macOS refuses to run the binary
("pg_hardstorage is damaged and cannot be opened")
The end-user install command is unchanged
(`brew install cybertec-postgresql/tap/pg_hardstorage`), still covering
macOS arm64 and Linux amd64/arm64, still no hard PostgreSQL dependency.
Verified with `goreleaser check` (validated, no deprecation) and a full
`goreleaser release --snapshot` that generated a correct
Casks/pg_hardstorage.rb (per-platform url/sha256, binary, postflight,
caveats). Since no tag release has populated the tap yet, no Formula
cleanup / tap_migrations.json is needed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
goreleaser deprecated the
brews:(formula) pipe in v2.16 in favour ofhomebrew_casks:—goreleaser checkfails the formula config as "uses deprecated properties". Migrate the Homebrew publish accordingly:The end-user install command is unchanged
(
brew install cybertec-postgresql/tap/pg_hardstorage), still covering macOS arm64 and Linux amd64/arm64, still no hard PostgreSQL dependency.Verified with
goreleaser check(validated, no deprecation) and a fullgoreleaser release --snapshotthat generated a correct Casks/pg_hardstorage.rb (per-platform url/sha256, binary, postflight, caveats). Since no tag release has populated the tap yet, no Formula cleanup / tap_migrations.json is needed.Summary
Migrate Homebrew publishing from the deprecated
brews:(formula) pipe tohomebrew_casks:. goreleaser deprecatedbrews:in v2.16, so the previous config would failgoreleaser check. The end-user install command is unchanged (brew install cybertec-postgresql/tap/pg_hardstorage); the macOS path now strips the Gatekeeper quarantine xattr since the binaries are cosign-signed but not Apple-notarised.Type
Tests
make checkpasses locally (vet + race tests)make test-integration) where touchedCompatibility
Checklist
Author: Hans-Jürgen Schönig <hs@cybertec.at>)Reviewer / release notes:
so the tap is still empty — no Formula/ cleanup or tap_migrations.json
needed).
v1.0.1). After that, test: brew install cybertec-postgresql/tap/pg_hardstorage
binaries; revisit if/when Apple notarisation is added to the release.