Skip to content

chore: regenerate contract snapshots for fairies-v5#23896

Merged
vezenovm merged 9 commits into
mv/run-contract-snapshots-in-cifrom
mv/regen-contract-snapshots-fairies-v5
Jun 5, 2026
Merged

chore: regenerate contract snapshots for fairies-v5#23896
vezenovm merged 9 commits into
mv/run-contract-snapshots-in-cifrom
mv/regen-contract-snapshots-fairies-v5

Conversation

@vezenovm

@vezenovm vezenovm commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Green half of the demo for #23895.

The committed snapshots had drifted from aztec-nr changes landed since the last regen in #23464, unnoticed because CI never ran the suite. Regenerated with the branch's pinned nargo (1.0.0-beta.21+f1a4575a); all 61 tests pass locally.

With the CI wiring from #23895 included in this branch, the contract-snapshots suite runs in CI here and should be green, in contrast to the red run on #23895 itself.

Merge order: this PR into mv/run-contract-snapshots-in-ci, then #23895 into merge-train/fairies-v5.

Note: #23878 (regen for the beta.22 bump) stays parked as draft, since the bump was reverted on v5-next in 9e53e1f.


Update: the beta.22 bump is back on the train via #23886, so this branch now regenerates against 1.0.0-beta.22 with two more commits:

  • chore: scrub macro-source line numbers in contract failure snapshots. Locations inside the aztec-nr macro sources (call stack at lines and code frame gutter numbers under <repo> headers) are scrubbed to <line>/<col> markers, like the existing <repo> path marker. Macro edits previously churned every compile_failure snapshot with pure line number diffs (see authorize_once_from_wrong_type in chore: regenerate contract snapshots for noir 1.0.0-beta.22 #23878 for an example). Locations in the test program itself and in the stdlib are kept. Resolves chore: regenerate contract snapshots for noir 1.0.0-beta.22 #23878 (comment)
  • chore: regenerate expand snapshots for noir 1.0.0-beta.22. nargo expand output changed with the bump.

All 61 tests pass locally with the branch's pinned nargo (1.0.0-beta.22).

vezenovm added 2 commits June 4, 2026 16:51
The committed snapshots had drifted from aztec-nr changes landed since
the last regen in #23464, unnoticed because the suite did not run in CI
before the previous commit wired it in. Regenerated with the pinned
nargo (1.0.0-beta.21+f1a4575a); the full suite (61 tests) passes.
vezenovm added 2 commits June 4, 2026 17:56
Macro edits shift line numbers in the aztec-nr macro sources, churning
every compile_failure snapshot with diffs that carry no signal. Scrub
:line:col suffixes on <repo> lines and code-frame gutter numbers in
frames headed by a <repo> path, the same way the <repo> marker scrubs
absolute paths. Locations in the test program itself and in the stdlib
are kept.
nargo expand output changed with the beta.22 bump (simplified index
expressions in generated serialization loops).
at src/main.nr:11:5
2: allow_phase_change
at <repo>/noir-projects/aztec-nr/aztec/src/macros/functions/mod.nr:166:9
at <repo>/noir-projects/aztec-nr/aztec/src/macros/functions/mod.nr:<line>:<col>

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be a one-time noise on this PR vs. every aztec-nr and macro change constantly changing locations but not functionality.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks for this!

@vezenovm vezenovm added the claudebox Owned by claudebox. it can push to this PR. label Jun 5, 2026
… build

The macOS arm64 nargo build emits public functions in a host-specific
order (call_fee_juice before nested_call_large_calldata in the impl-
block sections) that diverges from the Linux x86_64 build's source-
order emission. CI runs on Linux x86_64 and rejected the macOS-flavored
snapshot. Regenerated with the cached Linux x86_64 nargo
(1.0.0-beta.22+c57152f, build-cache artifact) so the snapshot matches
what CI produces.

Same nargo --version on both sides (1.0.0-beta.22+c57152f); the
divergence is in the binary build itself, not the noir source. Tracked
separately for upstream investigation.
@AztecBot AztecBot added the ci-draft Run CI on draft PRs. label Jun 5, 2026
vezenovm added 2 commits June 4, 2026 21:31
…xpand snapshot

The Linux regen pipeline interpreted the backslash escapes in the
debug_log string literal, writing real newline and tab characters into
the snapshot. nargo expand prints the literal with escaped \n \t (same
on macOS and Linux), so the interpreted form would fail the insta
comparison in CI. Restore the escaped form; the Linux function ordering
from the regen is kept.
@AztecBot

AztecBot commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/0a73d4a96abae00c�0a73d4a96abae00c8;;�): yarn-project/scripts/run_test.sh bb-prover/src/avm_proving_tests/avm_check_circuit_amm.test.ts (9s) (code: 0)

at src/main.nr:11:5
2: allow_phase_change
at <repo>/noir-projects/aztec-nr/aztec/src/macros/functions/mod.nr:166:9
at <repo>/noir-projects/aztec-nr/aztec/src/macros/functions/mod.nr:<line>:<col>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks for this!

@vezenovm vezenovm merged commit b7c282d into mv/run-contract-snapshots-in-ci Jun 5, 2026
12 checks passed
@vezenovm vezenovm deleted the mv/regen-contract-snapshots-fairies-v5 branch June 5, 2026 15:38
vezenovm added a commit that referenced this pull request Jun 5, 2026
## The gap

This draft exists just so display the first half of a red-green flow. We
should merge the child PR
#23896 into this one
before merging.

The contract-snapshots suite (added in #23061) has never run in CI. It
was wired only into the `noir-projects/bootstrap.sh test_cmds`
aggregate, but the Makefile-driven CI never invokes parent aggregates:
it calls each subproject's `test_cmds` directly
(`noir-protocol-circuits-tests` in `fast`, `noir-projects-txe-tests`
post-build). The aggregate is a local-dev entry point only.

Consequences so far:
- the noir 1.0.0-beta.22 bump (#23870) landed green with stale snapshots
(see #23878),
- aztec-nr changes since the last regen in #23464 have drifted the
snapshots unnoticed. 14 of 61 tests fail on this branch with its own
pinned nargo.

## The fix

- New `contract-snapshots-tests` Makefile target (mirrors
`noir-protocol-circuits-tests`, depends only on `noir` for the nargo
binary), included in `fast`.
- Comment on the bootstrap aggregate marking it local-dev only, so the
next suite added there also gets a Makefile target.

## Expected CI result

This PR is intentionally red: the newly wired suite fails with the 14
drifted snapshots, demonstrating the gap. A follow-up PR targeting this
branch regenerates the snapshots and turns it green. Merge order: regen
PR into this branch, then this branch into the train.

Draft with `ci-draft` label so CI runs while merge automation stays off
until the regen lands.

---------

Co-authored-by: AztecBot <tech@aztec-labs.com>
@vezenovm

vezenovm commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

See noir-lang/noir#12933 for why 87fb105 had to be done by CB (I was developing on a mac).

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.

3 participants