build: use nix for building release images#3549
Conversation
# Conflicts: # .github/workflows/docker_build_node.yml # .github/workflows/docker_build_node_gcp.yml # .github/workflows/docker_build_rust_launcher.yml # deployment/build-images.sh # docs/reproducible-builds.md # flake.nix # nix/mpc-node.nix # scripts/build-and-verify-rust-launcher-docker-image.sh
The script is kept as the lean entry point for the release workflows per review feedback on #3171. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
build-images.sh now needs nothing but nix and git: skopeo is re-exported from the flake (pinned through flake.lock, the same binary image-dir.nix uses) and invoked with `nix run .#skopeo`. Removes the apt install step from the three docker build workflows. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pull request overviewThis PR migrates the reproducible Docker image build pipeline from Changes:
Reviewed changesPer-file summary
FindingsNon-blocking (nits, follow-ups, suggestions):
✅ Approved — no blocking issues. The Nix-based pipeline is well-factored: shared builder + per-crate leaves, separated image / dir / digest stages so the digest is provably the bytes that get pushed, and the documentation alignment is thorough. The cold-cache cost on release pushes is the most concrete operational follow-up. |
No description provided.