Skip to content

Add multi-architecture support for Docker images and workflows#841

Open
stearz wants to merge 1 commit intokelos-dev:mainfrom
stearz:arm64-support
Open

Add multi-architecture support for Docker images and workflows#841
stearz wants to merge 1 commit intokelos-dev:mainfrom
stearz:arm64-support

Conversation

@stearz
Copy link
Copy Markdown
Contributor

@stearz stearz commented Mar 29, 2026

What type of PR is this?

/kind feature

What this PR does / why we need it:

adds support for arm64

Which issue(s) this PR is related to:

Fixes #840

Special notes for your reviewer:

none

Does this PR introduce a user-facing change?

yes, containers now also run on arm64 machines

Added support for arm64

Summary by cubic

Add multi-arch Docker builds (linux/amd64, linux/arm64) and rework CI to build per-arch images on native runners and publish a combined manifest, fixing #840. Images now run natively on ARM (Apple Silicon) and x86.

  • New Features

    • Makefile: image supports IMAGE_PLATFORMS; new manifest target combines per-arch tags; PUSH=true pushes; defaults to host arch via LOCAL_ARCH.
    • Dockerfiles: use ARG TARGETARCH and copy arch-specific binaries (*-linux-${TARGETARCH}).
    • CI: split into jobs; matrix builds on ubuntu-latest and ubuntu-24.04-arm; tag per-arch images as <version>-<arch>; merge manifests; create latest manifest on tags; dropped QEMU; use docker/setup-buildx-action@v3.
  • Migration

    • Local: make image builds for your arch; override with LOCAL_ARCH=amd64 or set IMAGE_PLATFORMS=linux/amd64,linux/arm64.
    • Publish: set PUSH=true when building, then run make manifest VERSION=<v> to push the multi-arch tag.

Written for commit 6bd4892. Summary will update on new commits.

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 9 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="Makefile">

<violation number="1" location="Makefile:108">
P2: `image-multiarch` hardcodes prebuilt arches (`amd64 arm64`) while `--platform` uses configurable `IMAGE_PLATFORMS`, which can produce missing per-arch binaries when platforms are overridden.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@gjkim42
Copy link
Copy Markdown
Collaborator

gjkim42 commented Mar 29, 2026

This is a duplicate of #787

@stearz
Copy link
Copy Markdown
Contributor Author

stearz commented Mar 29, 2026

It would be cool if ypu merge one of them. 😉

@stearz
Copy link
Copy Markdown
Contributor Author

stearz commented Apr 1, 2026

Hopefully 6bd4892 addresses the requested changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for arm64

3 participants