Skip to content

Split Docker builds across native amd64 and arm64 runners - #75

Merged
Insprill merged 1 commit into
Insprill:masterfrom
vlnst:docker-native-arm
Oct 18, 2026
Merged

Insprill merged 1 commit into
Insprill:masterfrom
vlnst:docker-native-arm

Conversation

@vlnst

@vlnst vlnst commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

The Docker Build workflow takes 30 to 50 minutes per run because the arm64 image is compiled under QEMU emulation on an x86 runner.

This builds each platform on its own native runner in parallel, using the ubuntu-24.04-arm runners that are free for public repos, and then merges the two digests into one multi-arch tag, following the pattern from Docker's multi-platform docs. Each platform gets its own gha cache scope so they don't overwrite each other. On my fork the whole workflow ran in about 5 minutes with a cold cache. The merge job only runs on master and tags, so it couldn't be exercised there. This is based on #74 and includes its commit until that is merged.

@Insprill

Copy link
Copy Markdown
Owner

This needs to be rebased on the latest master to fix conflicts from merging the other workflow PRs.

@vlnst
vlnst force-pushed the docker-native-arm branch from d9e838c to b6996e8 Compare October 18, 2026 17:13

@Insprill Insprill left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thank you :)

@Insprill
Insprill merged commit 83612c1 into Insprill:master Oct 18, 2026
3 checks passed
@vlnst
vlnst deleted the docker-native-arm branch November 10, 2026 00:37
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