Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leave manifest platform empty for :all bottles #17395

Open
1 task done
justenstall opened this issue May 30, 2024 · 1 comment
Open
1 task done

Leave manifest platform empty for :all bottles #17395

justenstall opened this issue May 30, 2024 · 1 comment
Labels
features New features help wanted We want help addressing this

Comments

@justenstall
Copy link

justenstall commented May 30, 2024

Verification

Provide a detailed description of the proposed feature

The image index for cross-platform bottles lists a single manifest which is downloaded for all platforms. The manifest descriptor includes a "platform" object describing the architecture the bottle was built on. To conform to the OCI spec, the descriptor should exclude the "platform" field since it is not platform-specific.

From the OCI Image Index Specification:

  • platform object

    This OPTIONAL property describes the minimum runtime requirements of the image.
    This property SHOULD be present if its target is platform-specific.

Example of a cross-platform bottle's image index: ghcr.io/homebrew/core/ca-certificates:2024-03-11

What is the motivation for the feature?

This change will make bottles conform to the OCI specification better.

This change will also improve the inspection and discovery of bottles through the GitHub Packages UI and command line clients like oras and skopeo. The GitHub Package UI labels the images with the "platform" information, which is misleading:
image

link to package

How will the feature be relevant to at least 90% of Homebrew users?

This change will improve the bottle publishing format consumed by all Homebrew users.

What alternatives to the feature have been considered?

None.

@justenstall justenstall added the features New features label May 30, 2024
@carlocab carlocab added the help wanted We want help addressing this label May 30, 2024
@MikeMcQuaid MikeMcQuaid changed the title Leave manifest platform empty for cross-platform bottles Leave manifest platform empty for :all bottles May 31, 2024
@MikeMcQuaid
Copy link
Member

Makes sense, thanks @justenstall. For whoever picks this up: I note the tab also contains arch: "arm64" which should probably be removed and built_on contains the OS/OS version/Xcode version which could potentially be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
features New features help wanted We want help addressing this
Projects
None yet
Development

No branches or pull requests

3 participants