-
Notifications
You must be signed in to change notification settings - Fork 35
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
Use buildah instead of docker, support multi-arch builds #243
Conversation
This passes them to all subprocesses, but they can still be overridden due to the ?= construct. Signed-off-by: Maya Rashish <[email protected]>
Now we can run: make clean && \ GOARCH=arm64 make manifest && GOARCH=amd64 make manifest && \ make manifest-push And spit out a manifest for both arm64 and amd64, in the same image. Caveats: - We have a special 'manifest-clean' target, as we can add arbitrarily many images to a manifest and don't want the old ones. Delete old image in case a regular non-manifest image exists by the same name, too. - The push and image/manifest creation are split, so we can run the image creation for more than one architecture and push the combined manifest including both. - We keep `make push` behaving the same to avoid breaking CI. Signed-off-by: Maya Rashish <[email protected]>
Do we want to make an arm lane in kubevirt/project-infra ? |
@zhlhahaha seems to be behind the arm64 testing for kubevirt. Besides an initial smoke test, I am most concerned that the release artifacts might be dysfunctional due to something going wrong with cross-building. I might try to configure it as a periodic testing the released binaries instead of re-building it locally. |
Hi, Maya, of course, currently we have two Arm64 servers for kubevirt project. And one of the servers has already in the kubevirt project CI infrastructure.
But currently the all build work is on x86_64 server. And in order to run normal unit tests or build work on Arm64 server via prow, we need multi-arch bootstrap image. I have submit a PR for build multi-arch bootstrap image, but have not get any reply. kubevirt/project-infra#1149 |
ping @awels |
Makefile
Outdated
push: clean manifest manifest-push | ||
|
||
manifest-push: | ||
buildah manifest push $(BUILDAH_PUSH_FLAGS) --all $(DOCKER_REPO)/$(OPERATOR_IMAGE):local docker://$(DOCKER_REPO)/$(OPERATOR_IMAGE):$(TAG) |
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.
Where is the BUILDAH_PUSH_FLAGS
set? I don't see it.
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.
thanks, removed.
Signed-off-by: Maya Rashish <[email protected]>
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: awels 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 |
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):hostpath-provisioner-operator part of fixing kubevirt/hostpath-provisioner#98, we also need to change project-infra for both projects.
Release note: