Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ce561cb
[1 changes] feat: Sync from aztec-packages (https://github.com/noir-l…
Jan 31, 2025
f3a83da
chore: apply sync fixes
Jan 31, 2025
55aff0e
Merge branch 'master' into sync-noir
TomAFrench Jan 31, 2025
f0a7922
[1 changes] fix: Add missing `is_empty` check for enums (https://gith…
Feb 1, 2025
05ed73b
chore: apply sync fixes
Feb 1, 2025
70771ab
fix: Add missing `is_empty` check for enums (https://github.com/noir-…
Feb 1, 2025
5878fcd
[1 changes] fix: Add missing `is_empty` check for enums (https://gith…
Feb 2, 2025
a89842b
chore: apply sync fixes
Feb 2, 2025
75a0ca0
fix: Add missing `is_empty` check for enums (https://github.com/noir-…
Feb 2, 2025
43fc556
[1 changes] fix: Add missing `is_empty` check for enums (https://gith…
Feb 3, 2025
148d331
chore: apply sync fixes
Feb 3, 2025
6344542
fix: Add missing `is_empty` check for enums (https://github.com/noir-…
Feb 3, 2025
5ff46f4
pull over change from https://github.com/noir-lang/noir/pull/7260 for…
vezenovm Feb 3, 2025
36a71a6
Merge remote-tracking branch 'origin/sync-noir' into sync-noir
vezenovm Feb 3, 2025
ce35cd1
if we have an entry point return its globals first
vezenovm Feb 3, 2025
9979ffe
bring over https://github.com/noir-lang/noir/pull/7265
vezenovm Feb 3, 2025
6a98665
update tests
vezenovm Feb 3, 2025
320f12b
[1 changes] fix: prevent panic within `remove_possibly_mutated_cached…
Feb 4, 2025
4d5f9e3
chore: apply sync fixes
Feb 4, 2025
e903406
fix: prevent panic within `remove_possibly_mutated_cached_make_arrays…
Feb 4, 2025
a6db4a7
delete repeated tests
vezenovm Feb 4, 2025
2ae1a22
TEMP FIX: override entry point analysis
vezenovm Feb 5, 2025
c23b8ce
update tests following override
vezenovm Feb 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .noir-sync-commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
c44b62615f1c8ee657eedd82f2b80e2ec76c9078
130d99125a09110a3ee3e877d88d83b5aa37f369
2 changes: 1 addition & 1 deletion noir/bb-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.66.0
0.72.1

This file was deleted.

This file was deleted.

2 changes: 2 additions & 0 deletions noir/noir-repo/.github/workflows/docs-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ name: Deploy preview for PR

on:
pull_request:
merge_group:

jobs:
add_label:
runs-on: ubuntu-22.04
if: github.event_name == 'pull_request'
outputs:
has_label: ${{ steps.check-labels.outputs.result }}
steps:
Expand Down
16 changes: 11 additions & 5 deletions noir/noir-repo/.github/workflows/reports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:

- name: Compare gates reports
id: gates_diff
uses: noir-lang/noir-gates-diff@7e4ddaa91c69380f15ccba514eac17bc7432a8cc
uses: noir-lang/noir-gates-diff@dbe920a8dcc3370af4be4f702ca9cef29317bec1
with:
report: gates_report.json
summaryQuantile: 0.9 # only display the 10% most significant circuit size diffs in the summary (defaults to 20%)
Expand Down Expand Up @@ -132,7 +132,7 @@ jobs:

- name: Compare Brillig bytecode size reports
id: brillig_bytecode_diff
uses: noir-lang/noir-gates-diff@7e4ddaa91c69380f15ccba514eac17bc7432a8cc
uses: noir-lang/noir-gates-diff@dbe920a8dcc3370af4be4f702ca9cef29317bec1
with:
report: gates_report_brillig.json
header: |
Expand Down Expand Up @@ -192,7 +192,7 @@ jobs:

- name: Compare Brillig execution reports
id: brillig_execution_diff
uses: noir-lang/noir-gates-diff@c1503343c3e264925ef67c68a2a5eeadd245a77b
uses: noir-lang/noir-gates-diff@dbe920a8dcc3370af4be4f702ca9cef29317bec1
with:
report: gates_report_brillig_execution.json
header: |
Expand Down Expand Up @@ -365,10 +365,16 @@ jobs:
repository: ${{ matrix.project.repo }}
path: test-repo
ref: ${{ matrix.project.ref }}

- name: Fetch noir dependencies
working-directory: ./test-repo/${{ matrix.project.path }}
run: |
# We run `nargo check` to pre-fetch any dependencies so we don't measure the time to download these
# when benchmarking.
nargo check

- name: Generate compilation report without averages
- name: Generate compilation report
working-directory: ./test-repo/${{ matrix.project.path }}
if: ${{ !matrix.project.take_average }}
run: |
mv /home/runner/work/noir/noir/scripts/test_programs/compilation_report.sh ./compilation_report.sh
touch parse_time.sh
Expand Down
105 changes: 105 additions & 0 deletions noir/noir-repo/.github/workflows/test-js-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -595,10 +595,23 @@ jobs:
sed -i '/^compiler_version/d' ./**/Nargo.toml

- name: Run nargo test
id: test_report
working-directory: ./test-repo/${{ matrix.project.path }}
run: |

output_file=${{ github.workspace }}/noir-repo/.github/critical_libraries_status/${{ matrix.project.repo }}/${{ matrix.project.path }}.actual.jsonl
BEFORE=$SECONDS
nargo test --silence-warnings --skip-brillig-constraints-check --format json ${{ matrix.project.nargo_args }} | tee $output_file
TIME=$(($SECONDS-$BEFORE))

NAME=${{ matrix.project.repo }}/${{ matrix.project.path }}
# Replace any slashes with underscores
NAME=${NAME//\//_}
TEST_REPORT_NAME=test_report_$NAME
echo "test_report_name=$TEST_REPORT_NAME" >> $GITHUB_OUTPUT

jq --null-input "{ test_reports: [{ name: \"$NAME\", value: (\"$TIME\" | tonumber), unit: \"s\" }]}" > $TEST_REPORT_NAME.json

if [ ! -s $output_file ]; then
# The file is empty so we delete it to signal that `nargo test` failed before it could run any tests
rm -f $output_file
Expand All @@ -610,6 +623,97 @@ jobs:
working-directory: ./noir-repo
run: .github/scripts/check_test_results.sh .github/critical_libraries_status/${{ matrix.project.repo }}/${{ matrix.project.path }}.failures.jsonl .github/critical_libraries_status/${{ matrix.project.repo }}/${{ matrix.project.path }}.actual.jsonl

- name: Upload test report
uses: actions/upload-artifact@v4
with:
name: ${{ steps.test_report.outputs.test_report_name }}
path: ./test-repo/${{ matrix.project.path }}/${{ steps.test_report.outputs.test_report_name }}.json
retention-days: 3
overwrite: true

compile-noir-contracts:
needs: [build-nargo]
runs-on: ubuntu-22.04
timeout-minutes: 30
name: Compile `noir-contracts` zero inliner aggressiveness
steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: AztecProtocol/aztec-packages
path: test-repo

- name: Download nargo binary
uses: actions/download-artifact@v4
with:
name: nargo
path: ./nargo

- name: Set nargo on PATH
run: |
nargo_binary="${{ github.workspace }}/nargo/nargo"
chmod +x $nargo_binary
echo "$(dirname $nargo_binary)" >> $GITHUB_PATH
export PATH="$PATH:$(dirname $nargo_binary)"
nargo -V

- name: Remove requirements on compiler version
working-directory: ./test-repo
run: |
# Github actions seems to not expand "**" in globs by default.
shopt -s globstar
sed -i '/^compiler_version/d' ./**/Nargo.toml

- name: Run nargo compile
working-directory: ./test-repo/noir-projects/noir-contracts
run: nargo compile --inliner-aggressiveness 0

upload_critical_library_report:
name: Upload critical library report
needs: [external-repo-checks]
# We want this job to run even if one variation of the matrix in `external-repo-checks` fails
if: always()
runs-on: ubuntu-22.04
permissions:
pull-requests: write
# deployments permission to deploy GitHub pages website
deployments: write
# contents permission to update benchmark contents in gh-pages branch
contents: write

steps:
- uses: actions/checkout@v4

- name: Download matrix test reports
uses: actions/download-artifact@v4
with:
pattern: test_report_*
path: ./reports

- name: Merge test reports using jq
run: |
jq --null-input "{ test_reports: [] }" > test_report.json
mv ./.github/scripts/merge-bench-reports.sh merge-bench-reports.sh
./merge-bench-reports.sh test_report
jq ".test_reports" < ./test_report.json > test_bench.json

- name: Store benchmark result
continue-on-error: true
uses: benchmark-action/github-action-benchmark@4de1bed97a47495fc4c5404952da0499e31f5c29
with:
name: "Test Suite Duration"
tool: "customSmallerIsBetter"
output-file-path: ./test_bench.json
github-token: ${{ secrets.GITHUB_TOKEN }}
# We want this to only run on master to avoid garbage data from PRs being added.
auto-push: ${{ github.ref == 'refs/heads/master' }}
alert-threshold: "120%"
comment-on-alert: true
fail-on-alert: false
alert-comment-cc-users: "@TomAFrench"
max-items-in-chart: 50


# This is a job which depends on all test jobs and reports the overall status.
# This allows us to add/remove test jobs without having to update the required workflows.
tests-end:
Expand All @@ -628,6 +732,7 @@ jobs:
- test-integration-node
- test-integration-browser
- test-examples
- compile-noir-contracts

steps:
- name: Report overall success
Expand Down
Loading
Loading