-
Notifications
You must be signed in to change notification settings - Fork 2.2k
ci: run amd64 and arm64 docker builds in parallel #20194
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
Conversation
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.
Pull request overview
This PR refactors the Docker build workflows (docker.yml and docker-nightly.yml) to parallelize cross-architecture builds, reducing total build time from ~40 minutes (sequential) to ~20 minutes (parallel). The changes split the build process into two jobs: build-binaries (which builds all arch/variant combinations in parallel using a matrix strategy) and docker-push (which assembles and pushes multi-arch images).
Key changes:
- Split Docker workflows into separate binary building and image pushing stages
- Introduce matrix-based parallel builds for amd64/arm64 architectures across reth/op-reth variants
- Use GitHub Actions artifacts to transfer built binaries between jobs
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/docker.yml |
Refactored to use parallel matrix builds for amd64/arm64 with separate build-binaries and docker-push jobs; consolidated RC and latest image logic into a single conditional push |
.github/workflows/docker-nightly.yml |
Refactored to use parallel matrix builds for amd64/arm64 across maxperf/profiling profiles for both reth and op-reth variants |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0b648f4 to
494d9ce
Compare
494d9ce to
f7d50b5
Compare
|
Should use depot instead |
Building a cross-arch Docker image was done sequentially, meaning that we first wait ~20 minutes for amd64, and then another ~20 minutes for arm64
reth/Makefile
Lines 348 to 364 in 2f55b1c
This PR refactors the
docker.ymlanddocker-nightly.ymlworkflows to run themaxperf/profiling X reth/op-reth X amd64/arm64matrix in parallel.