diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 850ac38..3e66ce1 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -3,7 +3,7 @@ name: Benchmarks on: push: branches: - - master + - main pull_request: jobs: @@ -17,12 +17,12 @@ jobs: - name: Install Nargo uses: noir-lang/noirup@v0.1.3 with: - toolchain: 0.34.0 + toolchain: 0.36.0 - name: Install bb run: | npm install -g bbup - bbup -nv 0.34.0 + bbup -nv 0.36.0 - name: Build Noir benchmark programs run: nargo export @@ -34,7 +34,7 @@ jobs: - name: Compare gates reports id: gates_diff - uses: noir-lang/noir-gates-diff@1931aaaa848a1a009363d6115293f7b7fc72bb87 + uses: noir-lang/noir-gates-diff@7e4ddaa91c69380f15ccba514eac17bc7432a8cc with: report: gates_report.json summaryQuantile: 0.9 # only display the 10% most significant circuit size diffs in the summary (defaults to 20%) diff --git a/.github/workflows/nightly-canary.yml b/.github/workflows/nightly-canary.yml index 4fd5ce1..17a20f7 100644 --- a/.github/workflows/nightly-canary.yml +++ b/.github/workflows/nightly-canary.yml @@ -13,7 +13,7 @@ permissions: jobs: test: - name: Test on Nargo ${{matrix.toolchain}} + name: Test on Nargo Nightly runs-on: ubuntu-latest steps: - name: Checkout sources diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cc4c323..bd34dfa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ name: Release on: push: branches: - - master + - main jobs: release-please: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a3b3dc0..bb20a60 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,12 +3,12 @@ name: Noir tests on: push: branches: - - master + - main pull_request: env: CARGO_TERM_COLOR: always - MINIMUM_NOIR_VERSION: v0.34.0 + MINIMUM_NOIR_VERSION: v0.36.0 jobs: noir-version-list: @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout sources id: get_versions - run: | + run: | # gh returns the Noir releases in reverse chronological order so we keep all releases published after the minimum supported version. VERSIONS=$(gh release list -R noir-lang/noir --exclude-pre-releases --json tagName -q 'map(.tagName) | index(env.MINIMUM_NOIR_VERSION) as $index | if $index then .[0:$index+1] else [env.MINIMUM_NOIR_VERSION] end') echo "versions=$VERSIONS" @@ -50,6 +50,32 @@ jobs: - name: Run Noir tests run: nargo test + rust-equivalence-tests: + name: Test for equivalence against Rust impl + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v4 + + - name: Install Nargo + uses: noir-lang/noirup@v0.1.3 + with: + toolchain: ${{ env.MINIMUM_NOIR_VERSION }} + + - name: Install Cargo + uses: dtolnay/rust-toolchain@1.74.1 + with: + targets: x86_64-unknown-linux-gnu + + - name: Cache Cargo dependencies + uses: Swatinem/rust-cache@v2 + with: + key: x86_64-unknown-linux-gnu + cache-on-failure: true + + - name: Export and Test Noir Functions + run: ./scripts/fuzz-test.sh + format: runs-on: ubuntu-latest steps: @@ -73,6 +99,7 @@ jobs: if: ${{ always() }} needs: - test + - rust-equivalence-tests - format steps: