Skip to content

Commit 929cdbe

Browse files
authored
Merge branch 'master' into tf/convert-trait-not-in-scope-to-error
2 parents 7b29afe + 093a8ec commit 929cdbe

File tree

85 files changed

+818
-350
lines changed

Some content is hidden

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

85 files changed

+818
-350
lines changed

.github/benchmark_projects.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
define: &AZ_COMMIT 6c0b83d4b73408f87acfa080d52a81c411e47336
1+
define: &AZ_COMMIT 1350f93c3e9af8f601ca67ca3e67d0127c9767b6
22
projects:
33
private-kernel-inner:
44
repo: AztecProtocol/aztec-packages
@@ -73,7 +73,7 @@ projects:
7373
path: noir-projects/noir-protocol-circuits/crates/rollup-block-root
7474
num_runs: 1
7575
timeout: 60
76-
compilation-timeout: 100
76+
compilation-timeout: 110
7777
execution-timeout: 40
7878
compilation-memory-limit: 7000
7979
execution-memory-limit: 1500

.github/workflows/reports.yml

+103-99
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,9 @@ jobs:
282282
strategy:
283283
fail-fast: false
284284
matrix:
285-
project: ${{ fromJson( needs.benchmark-projects-list.outputs.projects )}}
285+
include: ${{ fromJson( needs.benchmark-projects-list.outputs.projects )}}
286286

287-
name: External repo compilation and execution reports - ${{ matrix.project.repo }}/${{ matrix.project.path }}
287+
name: External repo compilation and execution reports - ${{ matrix.repo }}/${{ matrix.path }}
288288
steps:
289289
- uses: actions/checkout@v4
290290
with:
@@ -302,32 +302,77 @@ jobs:
302302
- name: Checkout
303303
uses: actions/checkout@v4
304304
with:
305-
repository: ${{ matrix.project.repo }}
305+
repository: ${{ matrix.repo }}
306306
path: test-repo
307-
ref: ${{ matrix.project.ref }}
307+
ref: ${{ matrix.ref }}
308308

309309
- name: Fetch noir dependencies
310-
working-directory: ./test-repo/${{ matrix.project.path }}
310+
working-directory: ./test-repo/${{ matrix.path }}
311311
run: |
312312
# We run `nargo check` to pre-fetch any dependencies so we don't measure the time to download these
313313
# when benchmarking.
314314
nargo check
315315
316316
- name: Generate compilation report
317-
working-directory: ./test-repo/${{ matrix.project.path }}
317+
id: compilation_report
318+
working-directory: ./test-repo/${{ matrix.path }}
318319
run: |
319320
mv /home/runner/work/noir/noir/scripts/test_programs/compilation_report.sh ./compilation_report.sh
320321
touch parse_time.sh
321322
chmod +x parse_time.sh
322323
cp /home/runner/work/noir/noir/scripts/test_programs/parse_time.sh ./parse_time.sh
323-
./compilation_report.sh 1 ${{ matrix.project.num_runs }}
324+
./compilation_report.sh 1 ${{ matrix.num_runs }}
325+
326+
PACKAGE_NAME=${{ matrix.path }}
327+
PACKAGE_NAME=$(basename $PACKAGE_NAME)
328+
REPORT_NAME=compilation_report_$PACKAGE_NAME.json
329+
REPORT_PATH=$(pwd)/$REPORT_NAME
330+
mv ./compilation_report.json $REPORT_PATH
331+
332+
echo "report_name=$REPORT_NAME" >> $GITHUB_OUTPUT
333+
echo "report_path=$REPORT_PATH" >> $GITHUB_OUTPUT
324334
env:
325-
FLAGS: ${{ matrix.project.flags }}
335+
FLAGS: ${{ matrix.flags }}
336+
337+
- name: Upload compilation report
338+
uses: actions/upload-artifact@v4
339+
with:
340+
name: ${{ steps.compilation_report.outputs.report_name }}
341+
path: ${{ steps.compilation_report.outputs.report_path }}
342+
retention-days: 3
343+
overwrite: true
326344

345+
- name: Generate execution report
346+
id: execution_report
347+
working-directory: ./test-repo/${{ matrix.path }}
348+
if: ${{ !matrix.cannot_execute }}
349+
run: |
350+
mv /home/runner/work/noir/noir/scripts/test_programs/execution_report.sh ./execution_report.sh
351+
mv /home/runner/work/noir/noir/scripts/test_programs/parse_time.sh ./parse_time.sh
352+
./execution_report.sh 1 ${{ matrix.num_runs }}
353+
354+
PACKAGE_NAME=${{ matrix.path }}
355+
PACKAGE_NAME=$(basename $PACKAGE_NAME)
356+
REPORT_NAME=execution_report_$PACKAGE_NAME.json
357+
REPORT_PATH=$(pwd)/$REPORT_NAME
358+
mv ./execution_report.json $REPORT_PATH
359+
360+
echo "report_name=$REPORT_NAME" >> $GITHUB_OUTPUT
361+
echo "report_path=$REPORT_PATH" >> $GITHUB_OUTPUT
362+
363+
- name: Upload execution report
364+
if: ${{ !matrix.cannot_execute }}
365+
uses: actions/upload-artifact@v4
366+
with:
367+
name: ${{ steps.execution_report.outputs.report_name }}
368+
path: ${{ steps.execution_report.outputs.report_path }}
369+
retention-days: 3
370+
overwrite: true
371+
327372
- name: Check compilation time limit
328373
run: |
329-
TIME=$(jq '.[0].value' ./test-repo/${{ matrix.project.path }}/compilation_report.json)
330-
TIME_LIMIT=${{ matrix.project.compilation-timeout }}
374+
TIME=$(jq '.[0].value' ${{ steps.compilation_report.outputs.report_path }})
375+
TIME_LIMIT=${{ matrix.compilation-timeout }}
331376
if awk 'BEGIN{exit !(ARGV[1]>ARGV[2])}' "$TIME" "$TIME_LIMIT"; then
332377
# Don't bump this timeout without understanding why this has happened and confirming that you're not the cause.
333378
echo "Failing due to compilation exceeding timeout..."
@@ -336,19 +381,11 @@ jobs:
336381
exit 1
337382
fi
338383
339-
- name: Generate execution report
340-
working-directory: ./test-repo/${{ matrix.project.path }}
341-
if: ${{ !matrix.project.cannot_execute }}
342-
run: |
343-
mv /home/runner/work/noir/noir/scripts/test_programs/execution_report.sh ./execution_report.sh
344-
mv /home/runner/work/noir/noir/scripts/test_programs/parse_time.sh ./parse_time.sh
345-
./execution_report.sh 1 ${{ matrix.project.num_runs }}
346-
347384
- name: Check execution time limit
348-
if: ${{ !matrix.project.cannot_execute }}
385+
if: ${{ !matrix.cannot_execute }}
349386
run: |
350-
TIME=$(jq '.[0].value' ./test-repo/${{ matrix.project.path }}/execution_report.json)
351-
TIME_LIMIT=${{ matrix.project.execution-timeout }}
387+
TIME=$(jq '.[0].value' ${{ steps.execution_report.outputs.report_path }})
388+
TIME_LIMIT=${{ matrix.execution-timeout }}
352389
if awk 'BEGIN{exit !(ARGV[1]>ARGV[2])}' "$TIME" "$TIME_LIMIT"; then
353390
# Don't bump this timeout without understanding why this has happened and confirming that you're not the cause.
354391
echo "Failing due to execution exceeding timeout..."
@@ -357,41 +394,6 @@ jobs:
357394
exit 1
358395
fi
359396
360-
- name: Move compilation report
361-
id: compilation_report
362-
shell: bash
363-
run: |
364-
PACKAGE_NAME=${{ matrix.project.path }}
365-
PACKAGE_NAME=$(basename $PACKAGE_NAME)
366-
mv ./test-repo/${{ matrix.project.path }}/compilation_report.json ./compilation_report_$PACKAGE_NAME.json
367-
echo "compilation_report_name=$PACKAGE_NAME" >> $GITHUB_OUTPUT
368-
369-
- name: Move execution report
370-
id: execution_report
371-
shell: bash
372-
if: ${{ !matrix.project.cannot_execute }}
373-
run: |
374-
PACKAGE_NAME=${{ matrix.project.path }}
375-
PACKAGE_NAME=$(basename $PACKAGE_NAME)
376-
mv ./test-repo/${{ matrix.project.path }}/execution_report.json ./execution_report_$PACKAGE_NAME.json
377-
echo "execution_report_name=$PACKAGE_NAME" >> $GITHUB_OUTPUT
378-
379-
- name: Upload compilation report
380-
uses: actions/upload-artifact@v4
381-
with:
382-
name: compilation_report_${{ steps.compilation_report.outputs.compilation_report_name }}
383-
path: compilation_report_${{ steps.compilation_report.outputs.compilation_report_name }}.json
384-
retention-days: 3
385-
overwrite: true
386-
387-
- name: Upload execution report
388-
uses: actions/upload-artifact@v4
389-
with:
390-
name: execution_report_${{ steps.execution_report.outputs.execution_report_name }}
391-
path: execution_report_${{ steps.execution_report.outputs.execution_report_name }}.json
392-
retention-days: 3
393-
overwrite: true
394-
395397
external_repo_memory_report:
396398
needs: [build-nargo, benchmark-projects-list]
397399
runs-on: ubuntu-22.04
@@ -423,19 +425,61 @@ jobs:
423425
ref: ${{ matrix.ref }}
424426

425427
- name: Generate compilation memory report
428+
id: compilation_report
426429
working-directory: ./test-repo/${{ matrix.path }}
427430
run: |
428431
mv /home/runner/work/noir/noir/scripts/test_programs/memory_report.sh ./memory_report.sh
429432
mv /home/runner/work/noir/noir/scripts/test_programs/parse_memory.sh ./parse_memory.sh
430433
./memory_report.sh 1
434+
431435
# Rename the memory report as the execution report is about to write to the same file
432-
cp memory_report.json compilation_memory_report.json
436+
PACKAGE_NAME=${{ matrix.path }}
437+
PACKAGE_NAME=$(basename $PACKAGE_NAME)
438+
REPORT_NAME=compilation_mem_report_$PACKAGE_NAME.json
439+
REPORT_PATH=$(pwd)/$REPORT_NAME
440+
mv ./memory_report.json $REPORT_PATH
441+
442+
echo "report_name=$REPORT_NAME" >> $GITHUB_OUTPUT
443+
echo "report_path=$REPORT_PATH" >> $GITHUB_OUTPUT
433444
env:
434445
FLAGS: ${{ matrix.flags }}
435446

447+
- name: Upload compilation memory report
448+
uses: actions/upload-artifact@v4
449+
with:
450+
name: ${{ steps.compilation_report.outputs.report_name }}
451+
path: ${{ steps.compilation_report.outputs.report_path }}
452+
retention-days: 3
453+
overwrite: true
454+
455+
- name: Generate execution memory report
456+
id: execution_report
457+
working-directory: ./test-repo/${{ matrix.path }}
458+
if: ${{ !matrix.cannot_execute }}
459+
run: |
460+
./memory_report.sh 1 1
461+
462+
PACKAGE_NAME=${{ matrix.path }}
463+
PACKAGE_NAME=$(basename $PACKAGE_NAME)
464+
REPORT_NAME=execution_mem_report_$PACKAGE_NAME.json
465+
REPORT_PATH=$(pwd)/$REPORT_NAME
466+
mv ./memory_report.json $REPORT_PATH
467+
468+
echo "report_name=$REPORT_NAME" >> $GITHUB_OUTPUT
469+
echo "report_path=$REPORT_PATH" >> $GITHUB_OUTPUT
470+
471+
- name: Upload execution memory report
472+
if: ${{ !matrix.cannot_execute }}
473+
uses: actions/upload-artifact@v4
474+
with:
475+
name: ${{ steps.execution_report.outputs.report_name }}
476+
path: ${{ steps.execution_report.outputs.report_path }}
477+
retention-days: 3
478+
overwrite: true
479+
436480
- name: Check compilation memory limit
437481
run: |
438-
MEMORY=$(jq '.[0].value' ./test-repo/${{ matrix.path }}/compilation_memory_report.json)
482+
MEMORY=$(jq '.[0].value' ${{ steps.compilation_report.outputs.report_path }})
439483
MEMORY_LIMIT=${{ matrix.compilation-memory-limit }}
440484
if awk 'BEGIN{exit !(ARGV[1]>ARGV[2])}' "$MEMORY" "$MEMORY_LIMIT"; then
441485
# Don't bump this limit without understanding why this has happened and confirming that you're not the cause.
@@ -445,16 +489,10 @@ jobs:
445489
exit 1
446490
fi
447491
448-
- name: Generate execution memory report
449-
working-directory: ./test-repo/${{ matrix.path }}
450-
if: ${{ !matrix.cannot_execute }}
451-
run: |
452-
./memory_report.sh 1 1
453-
454492
- name: Check execution memory limit
455493
if: ${{ !matrix.cannot_execute }}
456494
run: |
457-
MEMORY=$(jq '.[0].value' ./test-repo/${{ matrix.path }}/memory_report.json)
495+
MEMORY=$(jq '.[0].value' ${{ steps.execution_report.outputs.report_path }})
458496
MEMORY_LIMIT=${{ matrix.execution-memory-limit }}
459497
if awk 'BEGIN{exit !(ARGV[1]>ARGV[2])}' "$MEMORY" "$MEMORY_LIMIT"; then
460498
# Don't bump this limit without understanding why this has happened and confirming that you're not the cause.
@@ -464,40 +502,6 @@ jobs:
464502
exit 1
465503
fi
466504
467-
- name: Move compilation report
468-
id: compilation_mem_report
469-
shell: bash
470-
run: |
471-
PACKAGE_NAME=${{ matrix.path }}
472-
PACKAGE_NAME=$(basename $PACKAGE_NAME)
473-
mv ./test-repo/${{ matrix.path }}/compilation_memory_report.json ./memory_report_$PACKAGE_NAME.json
474-
echo "memory_report_name=$PACKAGE_NAME" >> $GITHUB_OUTPUT
475-
476-
- name: Upload compilation memory report
477-
uses: actions/upload-artifact@v4
478-
with:
479-
name: compilation_mem_report_${{ steps.compilation_mem_report.outputs.memory_report_name }}
480-
path: memory_report_${{ steps.compilation_mem_report.outputs.memory_report_name }}.json
481-
retention-days: 3
482-
overwrite: true
483-
484-
- name: Move execution report
485-
id: execution_mem_report
486-
if: ${{ !matrix.cannot_execute }}
487-
run: |
488-
PACKAGE_NAME=${{ matrix.path }}
489-
PACKAGE_NAME=$(basename $PACKAGE_NAME)
490-
mv ./test-repo/${{ matrix.path }}/memory_report.json ./memory_report_$PACKAGE_NAME.json
491-
echo "memory_report_name=$PACKAGE_NAME" >> $GITHUB_OUTPUT
492-
493-
- name: Upload execution memory report
494-
uses: actions/upload-artifact@v4
495-
with:
496-
name: execution_mem_report_${{ steps.execution_mem_report.outputs.memory_report_name }}
497-
path: memory_report_${{ steps.execution_mem_report.outputs.memory_report_name }}.json
498-
retention-days: 3
499-
overwrite: true
500-
501505
upload_compilation_report:
502506
name: Upload compilation report
503507
needs: [generate_compilation_and_execution_report, external_repo_compilation_and_execution_report]

.github/workflows/test-js-packages.yml

+11-11
Original file line numberDiff line numberDiff line change
@@ -541,17 +541,6 @@ jobs:
541541
fi
542542
env:
543543
NARGO_IGNORE_TEST_FAILURES_FROM_FOREIGN_CALLS: true
544-
545-
- name: Check test time limit
546-
run: |
547-
TIME=$(jq '.[0].value' ./test-repo/${{ matrix.path }}/${{ steps.test_report.outputs.test_report_name }}.json)
548-
if awk 'BEGIN{exit !(ARGV[1]>ARGV[2])}' "$TIME" "${{ matrix.timeout }}"; then
549-
# Don't bump this timeout without understanding why this has happened and confirming that you're not the cause.
550-
echo "Failing due to test suite exceeding timeout..."
551-
echo "Timeout: ${{ matrix.timeout }}"
552-
echo "Test suite took: $TIME".
553-
exit 1
554-
fi
555544

556545
- name: Compare test results
557546
working-directory: ./noir-repo
@@ -566,6 +555,17 @@ jobs:
566555
retention-days: 3
567556
overwrite: true
568557

558+
- name: Check test time limit
559+
run: |
560+
TIME=$(jq '.[0].value' ./test-repo/${{ matrix.path }}/${{ steps.test_report.outputs.test_report_name }}.json)
561+
if awk 'BEGIN{exit !(ARGV[1]>ARGV[2])}' "$TIME" "${{ matrix.timeout }}"; then
562+
# Don't bump this timeout without understanding why this has happened and confirming that you're not the cause.
563+
echo "Failing due to test suite exceeding timeout..."
564+
echo "Timeout: ${{ matrix.timeout }}"
565+
echo "Test suite took: $TIME".
566+
exit 1
567+
fi
568+
569569
compile-noir-contracts:
570570
needs: [build-nargo]
571571
runs-on: ubuntu-22.04

Cargo.lock

+25-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)