Skip to content

fix(ci): serialize noir-projects nargo dep download in Makefile#23403

Draft
AztecBot wants to merge 1 commit into
merge-train/spartanfrom
claudebox/fix-spartan-aztec-nr-network
Draft

fix(ci): serialize noir-projects nargo dep download in Makefile#23403
AztecBot wants to merge 1 commit into
merge-train/spartanfrom
claudebox/fix-spartan-aztec-nr-network

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

Summary

Fixes the aztec-nr step failure on merge-train/spartan (CI log http://ci.aztec-labs.com/1779205744876764):

Cloning into '/home/aztec-dev/nargo/github.com/noir-lang/poseidon/v0.3.0'...
fatal: unable to access 'https://github.com/noir-lang/poseidon/': Could not resolve host: github.com

The Makefile builds noir-protocol-circuits, mock-protocol-circuits, noir-contracts, and aztec-nr in parallel — each invokes its own bootstrap.sh. Several share the same noir-lang/poseidon@v0.3.0 and noir-lang/sha256@v0.3.0 git deps, and four parallel nargo processes race on the shared ~/nargo/... cache and outbound DNS. The loser surfaces the failure as a git clone error.

noir-projects/bootstrap.sh already has a serial prep step that documents and works around this race ("Use fmt as a trick to download dependencies. Otherwise parallel runs of nargo will trip over each other trying to download dependencies."), but it only runs when noir-projects/bootstrap.sh is invoked. The root Makefile bypasses it.

Fix

  • Move prep to top-level in noir-projects/bootstrap.sh so it can be invoked as ./bootstrap.sh prep. build still calls it — no behavior change for the existing path.
  • Add a noir-projects-deps Makefile target that runs prep as a serial barrier, and make the four parallel noir-projects targets depend on it.

Full analysis: https://gist.github.com/AztecBot/c5c82cfc1d739abebd228648bdfe34e4

Test plan

  • make -nd aztec-nr shows noir-projects-deps is scheduled once, before any of the four parallel sub-builds.
  • bash -n noir-projects/bootstrap.sh passes.
  • CI on this PR confirms the fix on real infrastructure (local ./bootstrap.sh ci blocked by a container UID mismatch).

ClaudeBox log: https://claudebox.work/s/5c5ca564e2a8aa3d?run=1

@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant