Omit platform for all bottles#22227
Merged
Merged
Conversation
- Avoid labelling `:all` OCI descriptors as platform-specific - Strip platform build fields from `:all` tab annotations - Cover the `brew bottle --merge` JSON that passes `all` onward - Cover GitHub Packages descriptors for `all` bottles
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request updates Homebrew’s GitHub Packages (OCI) bottle publishing to treat :all bottles as platform-agnostic by omitting OCI descriptor platform data and removing platform build fields from the embedded sh.brew.tab annotation. It also adds test coverage to ensure brew bottle --merge produces an all bottle JSON artifact and that GitHub Packages output matches the intended OCI behavior.
Changes:
- Omit the OCI image index manifest
platformfield when uploading:allbottles. - Strip
arch/built_onfrom thesh.brew.tabannotation for:allbottles. - Add RSpec coverage for both
brew bottle --mergeproducing anallJSON and GitHub Packages’alldescriptor behavior.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Library/Homebrew/github_packages.rb | Drops platform for :all descriptors and removes platform build fields from the sh.brew.tab annotation; widens Sorbet types for schema validation/writers to allow symbol keys. |
| Library/Homebrew/test/github_packages_spec.rb | New spec asserting :all descriptors omit platform and sh.brew.tab omits arch/built_on, while platform-specific bottles retain them. |
| Library/Homebrew/test/dev-cmd/bottle_spec.rb | Adds coverage that brew bottle --merge writes an all bottle JSON and copies the all bottle file as expected. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
bevanjkay
approved these changes
May 11, 2026
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.
:allOCI descriptors as platform-specific:alltab annotationsbrew bottle --mergeJSON that passesallonwardallbottlesCloses #17395
brew lgtm(style, typechecking and tests) with your changes locally?OpenAI Codex 5.5 with manual investigation, tweaking and review.