Skip to content

chore: single script to bump the Noir compiler version#24726

Draft
AztecBot wants to merge 4 commits into
nextfrom
cb/bump-noir-script
Draft

chore: single script to bump the Noir compiler version#24726
AztecBot wants to merge 4 commits into
nextfrom
cb/bump-noir-script

Conversation

@AztecBot

@AztecBot AztecBot commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

What

Makes bumping the Noir compiler a single, discoverable, complete operation. One script does everything; the skill and docs just point at it.

Bumping Noir must move several tracked artifacts together, or the tree is inconsistent and CI fails:

  1. the noir/noir-repo submodule pointer
  2. avm-transpiler/Cargo.lock (the transpiler depends on noir crates by path)
  3. yarn-project/yarn.lock (picks up noir JS package version / file: hash changes)
  4. noir-projects formatting (a compiler bump can change formatter output)

Changes

  • noir/scripts/bump_noir_compiler.sh (new) — the single source of truth. Fetches <ref> into the shallow submodule and checks it out, refreshes Cargo.lock via targeted cargo update -p <noir crates only> (honouring the repo's lockfile-discipline rule), refreshes yarn.lock via yarn install --mode=update-lockfile, reformats noir-projects, and stages all of it. <ref> is a noir-lang/noir ref — release tag v1.0.0-beta.23, nightly nightly-2026-06-02, branch, or commit; no arg → latest nightly-* tag. Stages but does not commit. All the operational knowledge (why targeted cargo update, the expected-version sanity check against .release-please-manifest.json, "don't edit noir/noir-repo to fix the transpiler build", the format-needs-nargo note, git-status-from-root) lives as inline comments on the relevant sections.
  • .claude/skills/noir-sync-update — rewrote the description so a "bump the noir compiler version to X" request actually surfaces this skill (the old wording didn't match), and reduced the body to a pointer at the script rather than a parallel set of manual steps. One source of truth, not two.
  • CLAUDE.md<bumping_noir> block points straight at the script (surfaced via the skill).
  • .github/workflows/pull-noir.yml — nightly auto-bump PR delegates its submodule + lockfile step to the script. No functional change to its PR-creation behavior.

Notes

The update/format steps need a real toolchain (cargo, corepack/yarn, a built nargo); in a bare checkout each step warns rather than aborting, so a partial run still leaves a useful diff to finish by hand.

@AztecBot AztecBot added ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR. labels Jul 15, 2026
@TomAFrench TomAFrench requested review from asterite and ludamad July 15, 2026 14:24
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. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure 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