Skillsnoir-sync-update
N

noir-sync-update

Perform necessary follow-on updates as a result of updating the noir git submodule.

AztecProtocol
421 stars
8.4k downloads
Updated 5d ago

Readme

noir-sync-update follows the SKILL.md standard. Use the install command to add it to your agent stack.

---
name: noir-sync-update
description: Perform necessary follow-on updates as a result of updating the noir git submodule.
---

# Noir Sync Update

## Workflow

Copy this checklist and track progress:

```
Noir Sync Update Progress:
- [ ] Step 1: Ensure that the new submodule commit has been pulled.
- [ ] Step 2: Update the `Cargo.lock` file in `avm-transpiler`.
- [ ] Step 3: Update the `yarn.lock` file in `yarn-project`.
- [ ] Step 4: Format `noir-projects`.
```

After each step, commit the results.

## Critical Verification Rules

**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.

**IMPORTANT:** Always run `git status` from the repository root directory, not from subdirectories. Running `git status noir-projects/` from inside `noir-projects/` will fail silently.

### Step 1: Ensure that the new submodule commit has been pulled

Run `./bootstrap.sh` in `noir` to ensure that the new submodule commit has been pulled.

This shouldn't update any files such that a commit is necessary.

### Step 2: Update `Cargo.lock` in `avm-transpiler`

**Before updating**, determine the expected noir version:
1. Read `noir/noir-repo/.release-please-manifest.json` to find the expected version (e.g., `1.0.0-beta.18`)
2. Check the current version in `avm-transpiler/Cargo.lock` by searching for `acir` or similar noir packages

**To update the lock file**, run `cargo update` in `avm-transpiler` with **only noir-repo packages**:

```bash
cd avm-transpiler
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
```

**IMPORTANT:** Do NOT use `cargo update` without `-p` flags—this will update ALL dependencies, not just noir-repo packages.

**After updating**, verify:
1. Run `git status avm-transpiler/` to confirm `Cargo.lock` was modified
2. Run `cargo check` to ensure it still builds
3. Grep `Cargo.lock` for `acir` to verify the version matches the expected version from `.release-please-manifest.json`

It's possible that changes in dependencies result in `avm-transpiler` no longer building.
  - 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`**.
  - If updates are necessary due to changes in exports from `noir/noir-repo` packages, then perform the necessary updates to import statements, etc.

### Step 3: Update `yarn.lock` in `yarn-project`

Run `yarn install` in `yarn-project` to update the `yarn.lock` file.

**After running**, verify with `git status yarn-project/yarn.lock` that the file was modified before committing.

### Step 4: Format `noir-projects`

Run `./bootstrap.sh format` in `noir-projects`.

This is necessary as the updates to the noir compiler may result in the formatter handling the same code differently.

Failing to run the formatter will result in a CI failure.

**After running**, check `git status noir-projects/` for any formatting changes that need to be committed.

Install

Requires askill CLI v1.0+

Metadata

LicenseUnknown
Version-
Updated5d ago
PublisherAztecProtocol

Tags

ci-cdgithub-actionslinting