diff --git a/.github/workflows/reports.yml b/.github/workflows/reports.yml index 4207d1afff..b21b4a6bae 100644 --- a/.github/workflows/reports.yml +++ b/.github/workflows/reports.yml @@ -299,16 +299,16 @@ jobs: fail-fast: false matrix: include: - # - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-contracts, is_library: true } + # - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-contracts, cannot_execute: true } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-inner, num_runs: 5 } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-tail, num_runs: 5 } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-reset, num_runs: 5 } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-base-private, num_runs: 5 } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-base-public, num_runs: 5 } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-merge, num_runs: 5 } - #- project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root-empty } - #- project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-single-tx } - #- project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root-empty, num_runs: 5, cannot_execute: true } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx, num_runs: 1, flags: "--skip-brillig-constraints-check --skip-underconstrained-check", cannot_execute: true } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root, num_runs: 1, flags: "--skip-brillig-constraints-check --skip-underconstrained-check" } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-merge, num_runs: 5 } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-root, num_runs: 5 } @@ -352,10 +352,12 @@ jobs: chmod +x parse_time.sh cp /home/runner/work/noir/noir/scripts/test_programs/parse_time.sh ./parse_time.sh ./compilation_report.sh 1 ${{ matrix.project.num_runs }} - + env: + FLAGS: ${{ matrix.project.flags }} + - name: Generate execution report working-directory: ./test-repo/${{ matrix.project.path }} - if: ${{ !matrix.project.is_library }} + if: ${{ !matrix.project.cannot_execute }} run: | mv /home/runner/work/noir/noir/scripts/test_programs/execution_report.sh ./execution_report.sh mv /home/runner/work/noir/noir/scripts/test_programs/parse_time.sh ./parse_time.sh @@ -373,7 +375,7 @@ jobs: - name: Move execution report id: execution_report shell: bash - if: ${{ !matrix.project.is_library }} + if: ${{ !matrix.project.cannot_execute }} run: | PACKAGE_NAME=${{ matrix.project.path }} PACKAGE_NAME=$(basename $PACKAGE_NAME) @@ -451,10 +453,16 @@ jobs: # TODO: Bring this report back under a flag. The `noir-contracts` report takes just under 30 minutes. # - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-contracts } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-inner } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-tail } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-reset } - - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/private-kernel-tail } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-base-private } - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-base-public } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-merge } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root-empty, cannot_execute: true } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx, flags: "--skip-brillig-constraints-check --skip-underconstrained-check", cannot_execute: true } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-block-root, flags: "--skip-brillig-constraints-check --skip-underconstrained-check" } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-merge } + - project: { repo: AztecProtocol/aztec-packages, path: noir-projects/noir-protocol-circuits/crates/rollup-root } name: External repo memory report - ${{ matrix.project.repo }}/${{ matrix.project.path }} steps: @@ -493,9 +501,12 @@ jobs: ./memory_report.sh 1 # Rename the memory report as the execution report is about to write to the same file cp memory_report.json compilation_memory_report.json + env: + FLAGS: ${{ matrix.project.flags }} - name: Generate execution memory report working-directory: ./test-repo/${{ matrix.project.path }} + if: ${{ !matrix.project.cannot_execute }} run: | ./memory_report.sh 1 1 @@ -518,6 +529,7 @@ jobs: - name: Move execution report id: execution_mem_report + if: ${{ !matrix.project.cannot_execute }} shell: bash run: | PACKAGE_NAME=${{ matrix.project.path }} diff --git a/test_programs/compilation_report.sh b/test_programs/compilation_report.sh index b12e398474..786dbd75fe 100755 --- a/test_programs/compilation_report.sh +++ b/test_programs/compilation_report.sh @@ -18,6 +18,7 @@ fi ITER="1" NUM_ARTIFACTS=${#tests_to_profile[@]} +FLAGS=${FLAGS:- ""} for dir in ${tests_to_profile[@]}; do if [[ " ${excluded_dirs[@]} " =~ " ${dir} " ]]; then @@ -41,7 +42,7 @@ for dir in ${tests_to_profile[@]}; do TOTAL_TIME=0 for ((i = 1; i <= NUM_RUNS; i++)); do - NOIR_LOG=trace NARGO_LOG_DIR=./tmp nargo compile --force --silence-warnings + NOIR_LOG=trace NARGO_LOG_DIR=./tmp nargo compile --force --silence-warnings $FLAGS done TIMES=($(jq -r '. | select(.target == "nargo::cli" and .fields.message == "close") | .fields."time.busy"' ./tmp/*)) diff --git a/test_programs/memory_report.sh b/test_programs/memory_report.sh index e501464c19..a5c13f58b0 100755 --- a/test_programs/memory_report.sh +++ b/test_programs/memory_report.sh @@ -19,6 +19,7 @@ fi FIRST="1" +FLAGS=${FLAGS:- ""} echo "{\"memory_reports\": [ " > memory_report.json for test_name in ${tests_to_profile[@]}; do @@ -35,12 +36,12 @@ for test_name in ${tests_to_profile[@]}; do test_name=$(basename $current_dir) fi - COMMAND="compile --force --silence-warnings" + COMMAND="compile --force --silence-warnings $FLAGS" if [ "$2" == "1" ]; then COMMAND="execute --silence-warnings" fi - heaptrack --output $current_dir/$test_name"_heap" $NARGO $COMMAND + heaptrack --output $current_dir/$test_name"_heap" $NARGO $COMMAND if test -f $current_dir/$test_name"_heap.gz"; then heaptrack --analyze $current_dir/$test_name"_heap.gz" > $current_dir/$test_name"_heap_analysis.txt"