Skip to content

ci: native multi-arch Docker builds with cargo-chef#938

Merged
3alpha merged 2 commits into
mainfrom
ci/docker-native-builds
Jun 7, 2026
Merged

ci: native multi-arch Docker builds with cargo-chef#938
3alpha merged 2 commits into
mainfrom
ci/docker-native-builds

Conversation

@3alpha

@3alpha 3alpha commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

Usage related changes

No user-facing changes. Docker images are built and published identically.

Development related changes

  • Native multi-arch Docker builds: Replaced QEMU-based cross-compilation with native builds on ubuntu-22.04 (amd64) and ubuntu-22.04-arm (arm64), significantly reducing build times.
  • cargo-chef: Dockerfile now uses a 3-stage cargo-chef pattern (chef → planner → builder) for optimal dependency layer caching.
  • Split Docker pipeline: The monolithic Docker job is now split into sequential stages: build-dockerbuild-docker-seed0merge-docker-manifeststag-secondary-imagescleanup-docker-intermediate-tags.
  • GHA layer cache: Per-architecture scoped caches with mode=max for maximum layer reuse.
  • Decoupled secondary namespace tagging: Secondary namespace images are tagged via imagetools create after primary manifests are merged, rather than during build.
  • JWT auth for cleanup: Intermediate per-arch tag cleanup uses proper JWT token authentication for Docker Hub API.
  • foundry-toolchain bump: Updated from v1.1.0 to v1.8 in build-and-test workflow.

Closes #922
Closes #925

Checklist:

  • Checked out the contribution guidelines
  • Applied formatting - ./scripts/format.sh
  • No linter errors - ./scripts/clippy_check.sh
  • No unused dependencies - ./scripts/check_unused_deps.sh
  • No spelling errors - ./scripts/check_spelling.sh
  • Performed code self-review
  • Rebased to the latest commit of the target branch (or merged it into my branch)
  • Updated the docs if needed - ./website/README.md
  • Linked the issues resolvable by this PR - linking info
  • Updated the tests if needed; all passing - execution info

- Replace QEMU cross-compilation with native per-arch builds on
  ubuntu-22.04 (amd64) and ubuntu-22.04-arm (arm64)
- Introduce cargo-chef in Dockerfile for dependency layer caching
- Split Docker pipeline into build-docker → build-docker-seed0 →
  merge-docker-manifests → tag-secondary-images → cleanup
- Use GHA layer cache (mode=max) scoped per architecture
- Decouple secondary namespace tagging from build steps
- Add JWT-based Docker Hub API auth for intermediate tag cleanup
- Bump foundry-toolchain to v1.8

Closes #922
Closes #925
@3alpha 3alpha merged commit 3e53659 into main Jun 7, 2026
6 of 8 checks passed
@3alpha 3alpha deleted the ci/docker-native-builds branch June 7, 2026 15:23
3alpha added a commit that referenced this pull request Jun 9, 2026
* ci: native multi-arch Docker builds with cargo-chef

- Replace QEMU cross-compilation with native per-arch builds on
  ubuntu-22.04 (amd64) and ubuntu-22.04-arm (arm64)
- Introduce cargo-chef in Dockerfile for dependency layer caching
- Split Docker pipeline into build-docker → build-docker-seed0 →
  merge-docker-manifests → tag-secondary-images → cleanup
- Use GHA layer cache (mode=max) scoped per architecture
- Decouple secondary namespace tagging from build steps
- Add JWT-based Docker Hub API auth for intermediate tag cleanup
- Bump foundry-toolchain to v1.8

Closes #922
Closes #925

* Fix foundry version
3alpha added a commit that referenced this pull request Jun 10, 2026
* Bumps deps for v0.14.3

* Bump usc, fix blockifier issues

* Format fix

* Bump starknet versions

* Bump lockfile

* bump edition

* ci: native multi-arch Docker builds with cargo-chef (#938)

* ci: native multi-arch Docker builds with cargo-chef

- Replace QEMU cross-compilation with native per-arch builds on
  ubuntu-22.04 (amd64) and ubuntu-22.04-arm (arm64)
- Introduce cargo-chef in Dockerfile for dependency layer caching
- Split Docker pipeline into build-docker → build-docker-seed0 →
  merge-docker-manifests → tag-secondary-images → cleanup
- Use GHA layer cache (mode=max) scoped per architecture
- Decouple secondary namespace tagging from build steps
- Add JWT-based Docker Hub API auth for intermediate tag cleanup
- Bump foundry-toolchain to v1.8

Closes #922
Closes #925

* Fix foundry version

* Bump devtools nightly to match rust 1.96
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor workflows to reduce Docker image build time Bump foundry-rs/foundry-toolchain and upload-artifact action version

1 participant