Skip to content

ci: build linux/arm64 images on native runners - #227

Merged
ahhda merged 1 commit into
mainfrom
anuj/arm64-images
Sep 24, 2026
Merged

ahhda merged 1 commit into
mainfrom
anuj/arm64-images

Conversation

@ahhda

@ahhda ahhda commented Sep 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Publishes ghcr.io/gnosis/solvers as a multi-platform image (linux/amd64 + linux/arm64), same tags as before (main, v*).
  • Unlike cowprotocol/automated-trade#53 (QEMU), each arch builds on a native runner (ubuntu-24.04 / ubuntu-24.04-arm): the Rust build plus the heaptrack compile in Dockerfile.binary would be far too slow under emulation. Same pattern as cowprotocol/services deploy.yaml.
  • build pushes each arch by digest (untagged); publish merges the digests with docker buildx imagetools create and applies the tags, so tags only move if both arches succeed. Autodeploy runs after the manifest is published.
  • Dockerfile.binary is unchanged; existing action versions untouched, new actions pinned by SHA.

Testing

deploy.yaml doesn't run on PRs; I'll run it via workflow_dispatch on this branch, which pushes a throwaway :anuj-arm64-images tag and skips autodeploy (main-only).

https://claude.ai/code/session_01Ns6R5rJBskJfYv5F43Mdjf

Build each architecture on a native runner (ubuntu-24.04 / ubuntu-24.04-arm),
push by digest, then merge into one multi-platform manifest carrying the
existing tags.

Claude-Session: https://claude.ai/code/session_01Ns6R5rJBskJfYv5F43Mdjf
@ahhda

ahhda commented Sep 24, 2026

Copy link
Copy Markdown
Collaborator Author

Test run via workflow_dispatch on this branch passed: https://github.com/gnosis/solvers/actions/runs/36036662993 — arm64 and amd64 each built natively in ~9–10 min, and ghcr.io/gnosis/solvers:anuj-arm64-images is a multi-platform OCI index.

@ahhda
ahhda merged commit 251fa7f into main Sep 24, 2026
6 checks passed
@ahhda
ahhda deleted the anuj/arm64-images branch September 24, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants