You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Migrate cask callers to explicit source APIs - #24441
Have you checked for other open Pull Requests for the same change?
Have you explained what your changes do? Performance claims (e.g. "this is faster") must include brew benchmark results.
Have you explained why you'd like these changes included, not just what they do?
For bug fixes, have you given step-by-step brew commands to reproduce the bug?
Have you written new tests (excluding integration tests)? Here's an example.
Have you successfully run brew lgtm (style, typechecking and tests) locally?
I did not use AI/LLM to create this PR, or I disclosed the tool/model below and reviewed its output; I did not attribute commits to AI and will answer maintainer questions and review comments myself without AI/LLM.
Codex with GPT 6 Astra at High effort, with local review and testing.
Review was skipped as selected files did not have any reviewable changes.
Run configuration
Source mode: Auto
Repository: Unavailable
Branch: Unavailable
File: No configuration file from this repository applied
Commit: Unavailable
Layers: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 3194645c-7ba8-47b6-ad10-a641bb81d911
Commits
Reviewing files that changed from the base of the PR and between 13fe985 and 074427b.
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Use the checkbox below for a quick retry:
Trigger review
No actionable comments were generated in the recent review.
Summary
Summary by CodeRabbit
Bug Fixes
Casks are handled more consistently when commands load them by name, file path or content, supporting reliable installation, auditing, updates, downloads and other workflows.
Auditing can continue to process installed casks even when their original tap source is unavailable.
Commands that inspect or validate casks now handle tap-based cask paths more consistently across platform-specific checks.
New Features
Generating zap instructions now supports selecting a cask directly from a tap source.
Cask loading call sites now use entry points that distinguish names, tap paths, file paths, installed caskfiles, and in-memory content. The corresponding specs and command tests update their setup or inputs. The generate-zap command adds tap-source loading.
Changes: Cask loader migration
Layer / File(s)
Summary
Production cask loading Library/Homebrew/cask/*, Library/Homebrew/cmd/fetch.rb, Library/Homebrew/dev-cmd/*, Library/Homebrew/readall.rb, Library/Homebrew/livecheck/strategy/extract_plist.rb
Cask loading call sites now select loader methods according to input type. Audit reloads support metadata-backed casks and unavailable tap sources.
Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Source mode: Auto
Repository: Unavailable
Branch: Unavailable
File: No configuration file from this repository applied
Commit: Unavailable
Layers: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: ca7c613a-66e3-481b-b8a9-5ff55df4ef74
Commits
Reviewing files that changed from the base of the PR and between ddc8658 and 13fe985.
Files selected for processing: 2
Library/Homebrew/test/dev-cmd/audit_spec.rb
Library/Homebrew/test/livecheck/livecheck_spec.rb
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.
- Select cask paths and content explicitly in audits, CI, API
generation and installed metadata workflows.
- Reuse registered tap selections without repeated path scans and
preserve installed metadata when auditing removed casks.
- Pass the selected tap source to zap generation so API loading
cannot replace the cask being tested.
- Migrate fixtures and command coverage before tightening defaults.
- Homebrew/brew#24441 made `brew cask-ci` load `.rb` paths only from a
registered tap. Linux jobs run in a container where the workspace is
a separate checkout, so `./Casks/...` is rejected with "Not a
registered tap source file".
- Resolve the path inside the tap once in `Gather cask information`
and reuse it for `zap-check` and `check`.
- Homebrew/brew#24442 limits `brew fetch`, `install` and `uninstall`
to cask names, so pass `matrix.cask.token` to them as `audit` does.
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
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.
brew benchmarkresults.brewcommands to reproduce the bug?brew lgtm(style, typechecking and tests) locally?Codex with GPT 6 Astra at High effort, with local review and testing.