From c26d09059ec0ecadf83d463663f42d354778b15d Mon Sep 17 00:00:00 2001 From: p4gs <10093271+p4gs@users.noreply.github.com> Date: Sat, 12 Sep 2026 10:56:49 -0400 Subject: [PATCH 1/2] fix(cask): drop deprecated `verified:` and fix depends_on stanza order MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `brew test-bot` is failing on `main` — all three legs — and has been since Homebrew moved underneath the tap. Reproduced on unmodified `main` by dispatching tests.yml against it (run 34700332281): macos-26, macos-15-intel and ubuntu-latest all fail, with no repository change involved. Nothing here is a regression from a pull request; it is time-triggered drift, and a tap whose CI is red is a tap where the next formula bump cannot be cleanly judged. Two causes, both in Casks/nthpartyfinder.rb: 1. `url ... verified: "github.com/grcengineering/nthpartyfinder/"`. Current Homebrew lists `:verified` in `Cask::URL::DEPRECATED_URL_SPECS` and its own comment says it is "accepted as a no-op for compatibility with existing casks" — it is read into an attribute and never used. Newer Homebrew, which is what CI runs, raises the deprecation, and `brew readall --os=all` reports the cask as "Invalid cask (Linux on ARM64)" / "(Linux on Intel x86_64)" as a consequence. Removing it is behaviour-neutral by construction: the parameter no longer influences download, verification or anything else. 2. `Cask/StanzaOrder: depends_on stanza out of order`. Homebrew's cop wants `cask` before `formula` before `macos`. Reproduced locally with `brew style Casks/nthpartyfinder.rb` (2 offenses) and the reorder is what `brew style --fix` produces; the comment explaining the `macos:` line stays attached to it. `brew style` is now clean on both Casks/nthpartyfinder.rb and Formula/nthpartyfinder.rb. The `url` and both `sha256` values are untouched — this changes no byte that `brew install` fetches, which is the property that matters in a tap. One thing this does NOT fix: the cask's own header records that this file's source of truth lives in grcengineering/nthpartyfinder and is copied here by scripts/sync-homebrew-formula.sh. Unless the same two edits are made to the copy in the product repo, the next release sync will reintroduce both and CI will go red again at exactly the moment a release is being cut. AI-Assisted: true AI-Tool: Claude Code AI-Model: Opus 5 AI-Role: draft Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_017N6Qc2T7buVAXHZ9vYa1xm --- Casks/nthpartyfinder.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Casks/nthpartyfinder.rb b/Casks/nthpartyfinder.rb index 4ad7a62..5322ccd 100644 --- a/Casks/nthpartyfinder.rb +++ b/Casks/nthpartyfinder.rb @@ -23,20 +23,20 @@ sha256 arm: "ee50de230c607c6cba9106059d30ac16948348e6511bfcfac3562b005fa13a9b", intel: "a3377ae60110b524b188ba1354d9e0f9ba35c6dd5e7c45e4135534bd6db47c7a" - url "https://github.com/grcengineering/nthpartyfinder/releases/download/v#{version}/nthpartyfinder-#{arch}-apple-darwin.tgz", - verified: "github.com/grcengineering/nthpartyfinder/" + url "https://github.com/grcengineering/nthpartyfinder/releases/download/v#{version}/nthpartyfinder-#{arch}-apple-darwin.tgz" name "Nth Party Finder" desc "CLI tool for identifying Nth party vendor relationships through DNS analysis" homepage "https://grc.engineering/" + # Stanza order is fixed by Homebrew's `Cask/StanzaOrder` cop: cask, then formula, then macos. + depends_on cask: "google-chrome" + depends_on formula: "subfinder" + depends_on formula: "whois" # macOS-only: the artifact is a -apple-darwin binary, so `brew readall --os=all` (run by the # tap's test-bot) requires an explicit macOS declaration — without it the Linux simulation # leaves sha256 nil and the audit fails. Symbol form (`:big_sur`), not the deprecated string # comparison form. depends_on macos: :big_sur - depends_on formula: "subfinder" - depends_on formula: "whois" - depends_on cask: "google-chrome" binary "nthpartyfinder" From 5562079f9cbce072ee8070b9a98e0a86520011da Mon Sep 17 00:00:00 2001 From: p4gs <10093271+p4gs@users.noreply.github.com> Date: Tue, 6 Oct 2026 04:12:07 -0400 Subject: [PATCH 2/2] fix(cask): use depends_on :macos instead of a redundant Big Sur minimum Homebrew 7.0.8 added the Homebrew/OSDependsOn cop, which fails test-bot's style step on `depends_on macos: :big_sur`: Big Sur is the oldest macOS Homebrew still recognises, so the minimum excludes nothing. `depends_on :macos` keeps the macOS-only declaration that `brew readall --os=all` needs. `brew style` on the cask: 1 offense before, none after. AI-Assisted: true AI-Tool: Claude Code AI-Model: Opus 5.5 AI-Role: draft Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_012hwWMsTiv9Uf2gNbMh75uk --- Casks/nthpartyfinder.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Casks/nthpartyfinder.rb b/Casks/nthpartyfinder.rb index 5322ccd..b61a63c 100644 --- a/Casks/nthpartyfinder.rb +++ b/Casks/nthpartyfinder.rb @@ -34,9 +34,10 @@ depends_on formula: "whois" # macOS-only: the artifact is a -apple-darwin binary, so `brew readall --os=all` (run by the # tap's test-bot) requires an explicit macOS declaration — without it the Linux simulation - # leaves sha256 nil and the audit fails. Symbol form (`:big_sur`), not the deprecated string - # comparison form. - depends_on macos: :big_sur + # leaves sha256 nil and the audit fails. Plain `:macos`, not a minimum version: Homebrew's + # `Homebrew/OSDependsOn` cop rejects `macos: :big_sur` as redundant: Big Sur is the oldest + # macOS Homebrew still recognises, so that minimum excludes nothing. + depends_on :macos binary "nthpartyfinder"