@@ -534,7 +534,7 @@ jobs:
534
534
- name : Build list of libraries
535
535
id : get_critical_libraries
536
536
run : |
537
- LIBRARIES=$(grep -Po "^https://github.com/\K.+" ./CRITICAL_NOIR_LIBRARIES | jq -R -s - c 'split("\n") | map(select(. != "")) | map({ repo: ., path: "" })')
537
+ LIBRARIES=$(yq ./EXTERNAL_NOIR_LIBRARIES.yml -o json | jq -c '.libraries | map({ repo, path: (.path // ""), timeout:(.timeout // 2), nargo_args })')
538
538
echo "libraries=$LIBRARIES"
539
539
echo "libraries=$LIBRARIES" >> $GITHUB_OUTPUT
540
540
env :
@@ -548,17 +548,7 @@ jobs:
548
548
fail-fast : false
549
549
matrix :
550
550
project : ${{ fromJson( needs.critical-library-list.outputs.libraries )}}
551
- include :
552
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/aztec-nr }
553
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-contracts }
554
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/blob }
555
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/parity-lib }
556
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-lib }
557
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/reset-kernel-lib }
558
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/types }
559
- # Use 1 test threads for rollup-lib because each test requires a lot of memory, and multiple ones in parallel exceed the maximum memory limit.
560
- - project : { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-lib, nargo_args: "--test-threads 1" }
561
-
551
+
562
552
name : Check external repo - ${{ matrix.project.repo }}/${{ matrix.project.path }}
563
553
steps :
564
554
- name : Checkout
@@ -604,6 +594,12 @@ jobs:
604
594
nargo test --silence-warnings --skip-brillig-constraints-check --format json ${{ matrix.project.nargo_args }} | tee $output_file
605
595
TIME=$(($SECONDS-$BEFORE))
606
596
597
+ if [ "TIME" -gt "${{ matrix.project.timeout }}" ]; then
598
+ # Library testing time has regressed past the set timeout.
599
+ # Don't bump this timeout without understanding why this has happened and confirming that you're not the cause.
600
+ exit 1
601
+ fi
602
+
607
603
NAME=${{ matrix.project.repo }}/${{ matrix.project.path }}
608
604
# Replace any slashes with underscores
609
605
NAME=${NAME//\//_}
@@ -618,12 +614,13 @@ jobs:
618
614
fi
619
615
env :
620
616
NARGO_IGNORE_TEST_FAILURES_FROM_FOREIGN_CALLS : true
621
-
617
+
622
618
- name : Compare test results
623
619
working-directory : ./noir-repo
624
620
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
625
621
626
622
- name : Upload test report
623
+ if : ${{ matrix.project.timeout > 10 }} # We want to avoid recording benchmarking for a ton of tiny libraries, these should be covered with aggressive timeouts
627
624
uses : actions/upload-artifact@v4
628
625
with :
629
626
name : ${{ steps.test_report.outputs.test_report_name }}
0 commit comments