Skip to content

ci(release): trust the test formula before auditing it - #13

Merged
softmaxe merged 1 commit into
mainfrom
ci/trust-release-test-formula
Oct 30, 2026
Merged

softmaxe merged 1 commit into
mainfrom
ci/trust-release-test-formula

Conversation

@softmaxe

Copy link
Copy Markdown
Owner

Summary

 brew tap-new softmaxe/release-test
 install formula/ferry.rb into the test tap
+brew trust --formula softmaxe/release-test/ferry
 brew audit --strict softmaxe/release-test/ferry
 brew install softmaxe/release-test/ferry
 brew test softmaxe/release-test/ferry

Homebrew refuses to load formulae from a non-official tap until they are trusted. brew audit runs first and loads the formula by name, so the formula-test job fails and the tap-sync job is skipped.

brew install softmaxe/tap/ferry in the README is unaffected: installing a fully qualified name trusts that formula.

Evidence

  • Before: the v0.0.2 run published the GitHub Release, then failed Test formula on arm64 and skipped Update Homebrew tap:
    Refusing to load formula softmaxe/release-test/ferry from untrusted tap softmaxe/release-test.
  • After: not yet exercised. This job only runs on a pushed release tag, so the next release is its first real run. The YAML parses, and the command is the one the Homebrew error suggests.

Merge Danger

Door: two-way

Blast Radius: release

Only the release workflow changes. The job trusts one formula in a throwaway tap on a CI runner.

@softmaxe
softmaxe merged commit 14127c5 into main Oct 30, 2026
3 checks passed
@softmaxe
softmaxe deleted the ci/trust-release-test-formula branch October 30, 2026 08:08
@softmaxe softmaxe mentioned this pull request Oct 30, 2026
softmaxe added a commit that referenced this pull request Oct 30, 2026
## Summary

```diff
-VERSION = 0.0.2
+VERSION = 0.0.3
```

Patch release. v0.0.2 reached GitHub Releases but not the Homebrew tap,
and #13 fixes the formula test that blocked it. Release tags are
immutable, so the fix ships as the next patch version.

## Evidence

- **Before:** `build/ferry --version` prints `ferry 0.0.2`, and the tap
still serves 0.0.1.
**After:** it prints `ferry 0.0.3`, and `make all test` passes with
`-Werror`.

## Merge Danger

**Door:** two-way

The merge itself is reversible. The `v0.0.3` tag pushed afterwards is
not.

**Blast Radius:** release

Pushing the tag publishes a GitHub Release and, if the formula test
passes, updates the Homebrew tap.
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