-
Notifications
You must be signed in to change notification settings - Fork 55
ci: add container builds for arm64 #491
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
base: main
Are you sure you want to change the base?
Conversation
TestsPlease note that running unit and e2e tests requires manual approval from a team member. e2e testsWe use labels to control which e2e tests contexts are run:
ℹ️ Ask a team member to add the requested labels if you don't have enough permissions. |
mcbenjemaa
left a comment
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.
Build is failing
|
It looks like buildx is currently incompatible with both --load and multiple simultaneous platform builds How should we proceed? Remove the load line (currently here ) from the docker/build-push-action invocation? Alternatively, I could setup a second docker/build-push-action invocation for arm64? |
|
Reading further through the comment chain on the docker/buildx repo, it appears multi-arch builds and --load will work if using the containerd store. Let me try setting that up and see if that works. |
|
So it looks like now with the containerd store enabled, the Trivy scanner is failing to load the new image locally. I'm going to build the arm64 container separately and use the amd64 container for the Trivy scanner. |
|
@mcbenjemaa Builds are succeeding again. Can you please review? |
|
@mcbenjemaa @wikkyk @LukasK32 |
| ignore-unfixed: true | ||
| severity: 'HIGH,CRITICAL' | ||
|
|
||
| - name: Build and push multiplatform Docker image |
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.
The build action is called twice.
Would it be possible to call it just once?
|
|
This is definitely interesting. However, there are some major issues here:
Is qemu necessary? Go cross-compiles well, there is no need to emulate an arm64. The only issue is tools like controller-gen that get installed at build time. I would rather make cross-compiling work properly (any build tools that are built at build time are built for host arch, everything else gets cross-compiled for target arch) so that e.g. I could do an arm64 build locally like |
|
arm64 container images would be cool, I have an arm64 arch based Clusterapi management cluster and I am manually compiling capi-proxmox image |



Description of changes:
This updates the Github Actions to add ARM64 builds. Currently, only AMD64 is being published to GHCR.