fix(brew): Fix brew audit workflow for Homebrew CLI breaking change - #58
Merged
Merged
Conversation
Homebrew disabled path-based `brew audit` invocations (Homebrew/brew#18873), which broke sync-homebrew-tap.yml's brew-audit job on its first real run ("Calling `brew audit [path ...]` is disabled! Use `brew audit [name ...]` instead."). Fix by staging the formula into a throwaway local tap and auditing it by tap-qualified name instead of by path. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HAtitdXupmQiSJrpVQCdok
The path-fix in the previous commit wasn't sufficient on its own: switching
to a tap-qualified name (local/pptxdiff-ci/pptxdiff) tripped Homebrew's
separate Tap Trust check ("Refusing to load formula ... from untrusted tap
..."), confirmed by a real workflow_dispatch run against PR #58. Trust the
formula right after copying it into the local tap, before audit references
it by name.
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HAtitdXupmQiSJrpVQCdok
…t --strict Confirmed via a real workflow_dispatch run against PR #58: with the tap/trust fixes in place, brew audit --strict finally ran for real and failed on a genuine formula-style issue -- Homebrew's canonical component order requires livecheck before depends_on. lib.mjs's regex-based parsing is order-agnostic so no code changes needed; npm test still 33/33 green. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HAtitdXupmQiSJrpVQCdok
Confirmed via a real workflow_dispatch run against PR #58: brew audit passed for the first time, then brew install --formula ./pptxdiff.rb hit the same underlying tap requirement ("Homebrew requires formulae to be in a tap"). Install from the same local tap used for audit instead of by path. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HAtitdXupmQiSJrpVQCdok
…s green README's Installing/Status/Publishing sections were written before the tap repo existed and before sync-homebrew-tap.yml ran green end-to-end -- update them to lead with `brew tap sugatoray/pptxdiff && brew install pptxdiff` (noting homebrew-pptxdiff#1 still needs merging for install to resolve), and record that both one-time setup steps are done. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HAtitdXupmQiSJrpVQCdok
… from tap sync New brew_README.md is a minimal install doc (brew tap + brew install + basic usage) meant for the tap repo's front page, separate from this package's own longer README.md which documents the formula/CI pipeline itself. sync-homebrew-tap.yml now copies brew_README.md into the tap as its README.md and no longer stages/copies CHANGELOG.md there at all. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HAtitdXupmQiSJrpVQCdok
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.
Summary
Fixes the
sync-homebrew-tap.ymlworkflow'sbrew-auditjob, which was failing due to a Homebrew CLI breaking change (Homebrew/brew#18873) that disallows path-basedbrew auditinvocations.Changes
.github/workflows/sync-homebrew-tap.yml: Updated thebrew-auditjob to work around the Homebrew CLI change by:brew tap-new local/pptxdiff-ci --no-git)Formula/directorylocal/pptxdiff-ci/pptxdiff) instead of by file pathbrew install --formulaandbrew teststeps unchanged (unaffected by the breaking change)docs/.scrolls/HANDOFF.md: Added detailed session notes documenting:workflow_dispatchtriggerdocs/.scrolls/WISDOM.md: Added trap entry documenting thebrew auditpath-based invocation breaking change to prevent re-discovery in future sessionsImplementation Details
The fix follows Homebrew's own guidance and precedent from
homebrew-releaser's CI. The--no-gitflag prevents unnecessary git initialization in the throwaway tap. The formula is addressed by its tap-qualified name rather than path, which is the new required pattern.Note: This fix has not yet been end-to-end verified with a real workflow run — the maintainer should manually trigger
sync-homebrew-tapto confirm all three jobs pass.