-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Add Task to build base multi-arch image #3402
Conversation
cc @vdemeester @afrittoli |
/retest |
/kind misc |
Tested successfully in: https://dashboard.dogfooding.tekton.dev/#/namespaces/default/taskruns/build-multiarch-base-image-run-sf5mf?step=build-image with:
Manifest:
|
/cc @vdemeester |
This Task allows to build base pipeline multi-arch image using docker buildx extention and can be executed on adm64 cluster. The result will be built and published for `linux/amd64`, "linux/s390x", "linux/arm64" and "linux/ppc64le" platforms in form of multi-arch image. dind privileged sidecar is used to be able to use qemu emulation feature for buildx. The Task is used for nightly builds Signed-off-by: Yulia Gaponenko <yulia.gaponenko1@de.ibm.com>
c4c4f7c
to
9d5f9fb
Compare
as Task itself was tested with dogfooding cluster (thanks @afrittoli !), I've updated the PR to use the task for nightly tekton builds |
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.
/meow
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest |
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.
Thank for this!
Since we not build the base image in a dedicated task, it would be possible to use the sha of the built image in the publish task instead of the latest tag build-base:latest
- but this is something we can add in a follow-up PR.
/approve
- name: builtBaseImage | ||
resource: builtBaseImage | ||
- name: publish-images | ||
runAfter: [build-base-image, build, unit-tests] |
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.
NIT: since build-base-image
already depends on [build, unit-tests]
, this can depend on build-base-image
alone.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: afrittoli, vdemeester 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 |
hi @pritidesai @dibyom can somebody of you have a look at this PR, as you are in reviewers list 😊 ? |
/lgtm |
Changes
The Task allows to build and push base pipeline multi-arch image using
docker buildx
extension and can be executed on x86 cluster. The result will be built and published forlinux/amd64
, "linux/s390x", "linux/arm64" and "linux/ppc64le" platforms in form of multi-arch image.dind privileged sidecar is used to be able to use qemu emulation feature for buildx.
Code was tested with GKE + dogfooding env.
It is proposed to replace build-push-base-images Task and produce multi-arch
gcr.io/tekton-nightly/github.com/tektoncd/pipeline/build-base:latest
image instead of amd64 only.This approach to get multi-arch base image for pipeline was suggested in another PR tektoncd/plumbing#603 and shows up as better alternative in case if it works on dogfooding infrastructure.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
See the contribution guide for more details.
Double check this list of stuff that's easy to miss:
cmd
dir, please updatethe release Task to build and release this image.
Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes