-
Notifications
You must be signed in to change notification settings - Fork 784
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
buildah build: add --all-platforms #3546
buildah build: add --all-platforms #3546
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: nalind The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
4a1192e
to
9f1ce7a
Compare
imagebuildah/build.go
Outdated
platform := instance.Platform.OS + "/" + instance.Platform.Architecture | ||
present[platform] = struct{}{} | ||
if instance.Platform.Variant != "" { | ||
platform = platform + "/" + instance.Platform.Variant |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You want to build multiple arches with and without the variant?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be fixed now.
9f1ce7a
to
86f9b2e
Compare
86f9b2e
to
cdb623b
Compare
LGTM |
0a0fb13
to
b1a83bd
Compare
Add a --all-platforms that instructs the builder to build for the intersection of all platforms for which the build's base images are available. Returns an error if any of them aren't references to manifest lists. We've learned that we can't really trust architecture and OS information stored in image config blobs, so we don't try to salvage that case. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
b1a83bd
to
100d5b1
Compare
/lgtm |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Add a
--all-platforms
that instructs the builder to build for the intersection of all platforms for which the build's base images are available. Returns an error if any of them aren't references to manifest lists. We've learned that we can't really trust architecture and OS information stored in image config blobs, so we don't try to salvage that case.How to verify it
New integration test!
Which issue(s) this PR fixes:
None
Special notes for your reviewer:
The bits where we populate and prune the list of platforms that all of our base images support use versions both with and without variant information in order to avoid dropping 64-bit ARM when one base image is for variant "v8" and one doesn't specify a variant. It's not ideal, but I think it's within the bounds of for how variant information is meant to be treated.
Does this PR introduce a user-facing change?