Skip to content

Commit 0ad2b16

Browse files
committed
Merge branch 'next' into spy/ha
2 parents 25c1fd4 + 8eda3b4 commit 0ad2b16

File tree

1,200 files changed

+19486
-7038
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,200 files changed

+19486
-7038
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
name: noir-sync-update
3+
description: Perform necessary follow-on updates as a result of updating the noir git submodule.
4+
---
5+
6+
# Noir Sync Update
7+
8+
## Workflow
9+
10+
Copy this checklist and track progress:
11+
12+
```
13+
Noir Sync Update Progress:
14+
- [ ] Step 1: Ensure that the new submodule commit has been pulled.
15+
- [ ] Step 2: Update the `Cargo.lock` file in `avm-transpiler`.
16+
- [ ] Step 3: Update the `yarn.lock` file in `yarn-project`.
17+
- [ ] Step 4: Format `noir-projects`.
18+
- [ ] Step 5: Check `noir-projects` still compiles.
19+
```
20+
21+
After each step, commit the results.
22+
23+
## Critical Verification Rules
24+
25+
**ALWAYS verify file changes with `git status` after any modification step before marking it complete.** Command output showing "updating" does not guarantee the file was written to disk.
26+
27+
### Step 1: Ensure that the new submodule commit has been pulled
28+
29+
Run `./bootstrap.sh` in `noir` to ensure that the new submodule commit has been pulled.
30+
31+
This shouldn't update any files such that a commit is necessary.
32+
33+
### Step 2: Update `Cargo.lock` in `avm-transpiler`
34+
35+
**Before updating**, determine the expected noir version:
36+
1. Read `noir/noir-repo/.release-please-manifest.json` to find the expected version (e.g., `1.0.0-beta.18`)
37+
2. Check the current version in `avm-transpiler/Cargo.lock` by searching for `acir` or similar noir packages
38+
39+
**To update the lock file**, run `cargo update` in `avm-transpiler` with **only noir-repo packages**:
40+
41+
```bash
42+
cd avm-transpiler
43+
cargo update -p acir -p acir_field -p acvm -p acvm_blackbox_solver -p bn254_blackbox_solver -p brillig -p brillig_vm -p fm -p iter-extended -p noirc_abi -p noirc_arena -p noirc_artifacts -p noirc_errors -p noirc_evaluator -p noirc_frontend -p noirc_printable_type -p noirc_span
44+
```
45+
46+
**IMPORTANT:** Do NOT use `cargo update` without `-p` flags—this will update ALL dependencies, not just noir-repo packages.
47+
48+
**After updating**, verify:
49+
1. Run `git status avm-transpiler/` to confirm `Cargo.lock` was modified
50+
2. Run `cargo check` to ensure it still builds
51+
3. Grep `Cargo.lock` for `acir` to verify the version matches the expected version from `.release-please-manifest.json`
52+
53+
It's possible that changes in dependencies result in `avm-transpiler` no longer building.
54+
- If transient dependency mismatches mean changes to the dependency tree are necessary, then the `Cargo.lock` file in `avm-transpiler` should be modified. **DO NOT MODIFY `noir/noir-repo`**.
55+
- If updates are necessary due to changes in exports from `noir/noir-repo` packages, then perform the necessary updates to import statements, etc.
56+
57+
### Step 3: Update `yarn.lock` in `yarn-project`
58+
59+
Run `yarn install` in `yarn-project` to update the `yarn.lock` file.
60+
61+
**After running**, verify with `git status yarn-project/yarn.lock` that the file was modified before committing.
62+
63+
### Step 4: Format `noir-projects`
64+
65+
Run `./bootstrap.sh format` in `noir-projects`.
66+
67+
This is necessary as the updates to the noir compiler may result in the formatter handling the same code differently.
68+
69+
Failing to run the formatter will result in a CI failure.
70+
71+
**After running**, check `git status noir-projects/` for any formatting changes that need to be committed.
72+
73+
### Step 5: Check `noir-projects` still compiles
74+
75+
Run `./bootstrap.sh` in `noir-projects`.
76+
77+
As a sanity check, we want to ensure that `noir-projects` still compiles after the update.
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
name: updating-changelog
3+
description: Updates changelog documentation for contract developers and node operators by analyzing branch changes relative to 'next'. Use when preparing a PR, updating migration notes, documenting breaking changes, or when asked to update changelog/release notes.
4+
---
5+
6+
# Updating Changelog
7+
8+
## Workflow
9+
10+
Copy this checklist and track progress:
11+
12+
```
13+
Changelog Update Progress:
14+
- [ ] Step 1: Determine target changelog file from .release-please-manifest.json
15+
- [ ] Step 2: Analyze branch changes (git diff next...HEAD)
16+
- [ ] Step 3: Generate draft entries for review
17+
- [ ] Step 4: Edit documentation files after approval
18+
```
19+
20+
### Step 1: Determine Target Files
21+
22+
Read `.release-please-manifest.json` to get the version (e.g., `{"." : "4.0.0"}` → edit `v4.md`).
23+
24+
**Target files:**
25+
26+
- Aztec contract developers: `docs/docs-developers/docs/resources/migration_notes.md`
27+
- Node operators and Ethereum contract developers: `docs/docs-network/reference/changelog/v{major}.md`
28+
29+
### Step 2: Analyze Branch Changes
30+
31+
Run `git diff next...HEAD --stat` for overview, then `git diff next...HEAD` for details.
32+
33+
**Categorize changes:**
34+
35+
- Breaking changes (API modifications, removals, renames)
36+
- New features (APIs, CLI flags, configuration)
37+
- Deprecations
38+
- Configuration changes (CLI flags, environment variables)
39+
40+
### Step 3: Generate Draft Entries
41+
42+
Present draft entries for review BEFORE editing files. Match the formatting conventions by reading existing entries in each file.
43+
44+
### Step 4: Edit Documentation
45+
46+
After approval, add entries to the appropriate files.
47+
48+
## Migration Notes Format
49+
50+
**File:** `docs/docs-developers/docs/resources/migration_notes.md`
51+
52+
Add entries under `## TBD` section:
53+
54+
````markdown
55+
### [Component] Brief description
56+
57+
Explanation of what changed.
58+
59+
**Migration:**
60+
61+
```diff
62+
- old code
63+
+ new code
64+
```
65+
````
66+
67+
**Impact**: Effect on existing code.
68+
69+
````
70+
71+
**Component tags:** `[Aztec.nr]`, `[Aztec.js]`, `[PXE]`, `[Aztec Node]`, `[AVM]`, `[L1 Contracts]`, `[CLI]`
72+
73+
## Node Operator Changelog Format
74+
75+
**File:** `docs/docs-network/reference/changelog/v{major}.md`
76+
77+
**Breaking changes:**
78+
```markdown
79+
### Feature Name
80+
81+
**v{previous}:**
82+
```bash
83+
--old-flag <value> ($OLD_ENV_VAR)
84+
````
85+
86+
**v{current}:**
87+
88+
```bash
89+
--new-flag <value> ($NEW_ENV_VAR)
90+
```
91+
92+
**Migration**: How to migrate.
93+
94+
````
95+
96+
**New features:**
97+
```markdown
98+
### Feature Name
99+
100+
```bash
101+
--new-flag <value> ($ENV_VAR)
102+
````
103+
104+
Description of the feature.
105+
106+
```
107+
108+
**Changed defaults:** Use table format with Flag, Environment Variable, Previous, New columns.
109+
```

.github/workflows/ci3.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,9 @@ jobs:
123123
ci-network-scenario:
124124
runs-on: ubuntu-latest
125125
# We either run after a release (tag starting with v), or when the ci-network-scenario label is present in a PR.
126+
# We exclude ci-release-pr test tags (v0.0.1-commit.*) which are only for testing the release process.
126127
needs: ci
127-
if: github.event.pull_request.head.repo.fork != true && github.event.pull_request.draft == false && (startsWith(github.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'ci-network-scenario'))
128+
if: github.event.pull_request.head.repo.fork != true && github.event.pull_request.draft == false && ((startsWith(github.ref, 'refs/tags/v') && !contains(github.ref_name, '-commit.')) || contains(github.event.pull_request.labels.*.name, 'ci-network-scenario'))
128129
steps:
129130
- name: Checkout
130131
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
@@ -144,7 +145,7 @@ jobs:
144145
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
145146
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
146147
RUN_ID: ${{ github.run_id }}
147-
AWS_SHUTDOWN_TIME: 360
148+
AWS_SHUTDOWN_TIME: 540 # temporarily increased to 9 hours, todo(revert to 360)
148149
NO_SPOT: 1
149150
run: |
150151
# For release tags, use the release image; for PRs, omit to build and push to aztecdev

.github/workflows/ensure-funded-environment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
5757
with:
5858
ref: ${{ github.ref }}
59-
fetch-depth: 0
59+
fetch-depth: 1
6060
persist-credentials: false
6161

6262
- name: Validate inputs

.github/workflows/nightly-spartan-bench.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ jobs:
4646
fi
4747
4848
- name: Run benchmarks
49+
timeout-minutes: 120
4950
env:
5051
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
5152
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -55,7 +56,7 @@ jobs:
5556
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
5657
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
5758
RUN_ID: ${{ github.run_id }}
58-
AWS_SHUTDOWN_TIME: 360
59+
AWS_SHUTDOWN_TIME: 120
5960
NO_SPOT: 1
6061
run: |
6162
# Pass the arguments expected in ./bootstrap.sh ci-network-bench

.github/workflows/publish-bb-mac.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,23 @@ jobs:
153153
with:
154154
name: barretenberg-arm64-darwin-starknet.tar.gz
155155

156+
- name: Determine if prerelease
157+
id: check-prerelease
158+
run: |
159+
VERSION="${{ inputs.ref_name || inputs.tag || github.ref_name }}"
160+
# Check if version has a prerelease tag (e.g., -rc.1, -alpha, -beta)
161+
if [[ "$VERSION" =~ ^v?[0-9]+\.[0-9]+\.[0-9]+-.+ ]]; then
162+
echo "is_prerelease=true" >> $GITHUB_OUTPUT
163+
else
164+
echo "is_prerelease=false" >> $GITHUB_OUTPUT
165+
fi
166+
156167
- name: Publish to GitHub
157168
uses: softprops/action-gh-release@26994186c0ac3ef5cae75ac16aa32e8153525f77
158169
if: ${{ github.event_name != 'workflow_dispatch' || inputs.publish }}
159170
with:
160171
tag_name: ${{ inputs.ref_name || inputs.tag || github.ref_name }}
161-
prerelease: true
172+
prerelease: ${{ steps.check-prerelease.outputs.is_prerelease == 'true' }}
162173
files: |
163174
barretenberg-amd64-darwin.tar.gz
164175
barretenberg-arm64-darwin.tar.gz
@@ -169,7 +180,7 @@ jobs:
169180
continue-on-error: true
170181
with:
171182
tag_name: ${{ inputs.ref_name || inputs.tag || github.ref_name }}
172-
prerelease: true
183+
prerelease: ${{ steps.check-prerelease.outputs.is_prerelease == 'true' }}
173184
files: |
174185
barretenberg-amd64-darwin-starknet.tar.gz
175186
barretenberg-arm64-darwin-starknet.tar.gz

0 commit comments

Comments
 (0)