Skip to content

Commit 09f6b06

Browse files
authored
Merge branch 'master' into jl/brillig_entry
2 parents 6aa646a + 13ce5c8 commit 09f6b06

File tree

278 files changed

+6664
-2450
lines changed

Some content is hidden

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

278 files changed

+6664
-2450
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Download Binary
2+
description: Downloads a binary from an artifact and adds it to the path
3+
inputs:
4+
name:
5+
description: Name of the binary to download, e.g. 'nargo'
6+
required: true
7+
runs:
8+
using: composite
9+
steps:
10+
- name: Download ${{ inputs.name }} binary
11+
uses: actions/download-artifact@v4
12+
with:
13+
name: ${{ inputs.name }}
14+
path: ./${{ inputs.name }}
15+
16+
- name: Set ${{ inputs.name }} on PATH
17+
shell: bash
18+
run: |
19+
binary="${{ github.workspace }}/${{ inputs.name }}/${{ inputs.name }}"
20+
chmod +x $binary
21+
echo "$(dirname $binary)" >> $GITHUB_PATH

.github/actions/download-nargo/action.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/actions/download-noir-execute/action.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/actions/download-noir-inspector/action.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/actions/download-noir-ssa/action.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/benchmark_projects.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
define: &AZ_COMMIT 5be53b6f75bac06d6d0132220044b28777021f0f
1+
define: &AZ_COMMIT 3bc986da25df117f91b133c4a370b214d3d88e96
22
projects:
33
private-kernel-inner:
44
repo: AztecProtocol/aztec-packages
@@ -82,7 +82,7 @@ projects:
8282
cannot_execute_brillig: true
8383
num_runs: 1
8484
compilation-timeout: 500
85-
execution-timeout: 0.75
85+
execution-timeout: 35
8686
brillig-compilation-timeout: 500
8787
compilation-memory-limit: 12000
8888
execution-memory-limit: 2000
@@ -93,7 +93,7 @@ projects:
9393
cannot_execute_brillig: true
9494
num_runs: 1
9595
compilation-timeout: 525
96-
execution-timeout: 1
96+
execution-timeout: 35
9797
brillig-compilation-timeout: 525
9898
compilation-memory-limit: 12000
9999
execution-memory-limit: 2000

.github/workflows/formatting.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,9 @@ jobs:
169169
uses: actions/checkout@v6
170170

171171
- name: Download nargo binary
172-
uses: ./.github/actions/download-nargo
172+
uses: ./.github/actions/download-binary
173+
with:
174+
name: nargo
173175

174176
- name: Format stdlib
175177
working-directory: ./noir_stdlib

.github/workflows/publish-stdlib-docs.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ jobs:
5050
uses: actions/checkout@v6
5151

5252
- name: Download nargo binary
53-
uses: ./.github/actions/download-nargo
53+
uses: ./.github/actions/download-binary
54+
with:
55+
name: nargo
5456

5557
- name: Run `integration-tests`
5658
working-directory: ./noir_stdlib

.github/workflows/reports.yml

Lines changed: 72 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@ jobs:
158158
echo "$HOME/.bb/" >> $GITHUB_PATH
159159
160160
- name: Download nargo binary
161-
uses: ./.github/actions/download-nargo
161+
uses: ./.github/actions/download-binary
162+
with:
163+
name: nargo
162164

163165
- name: Build Noir circuits
164166
working-directory: ./test_programs
@@ -198,7 +200,9 @@ jobs:
198200
- uses: actions/checkout@v6
199201

200202
- name: Download nargo binary
201-
uses: ./.github/actions/download-nargo
203+
uses: ./.github/actions/download-binary
204+
with:
205+
name: nargo
202206

203207
- name: Generate Brillig bytecode size report
204208
working-directory: ./test_programs
@@ -250,7 +254,9 @@ jobs:
250254
- uses: actions/checkout@v6
251255

252256
- name: Download nargo binary
253-
uses: ./.github/actions/download-nargo
257+
uses: ./.github/actions/download-binary
258+
with:
259+
name: nargo
254260

255261
- name: Generate Brillig execution report
256262
working-directory: ./test_programs
@@ -302,7 +308,9 @@ jobs:
302308
- uses: actions/checkout@v6
303309

304310
- name: Download nargo binary
305-
uses: ./.github/actions/download-nargo
311+
uses: ./.github/actions/download-binary
312+
with:
313+
name: nargo
306314

307315
- name: Generate Memory report
308316
working-directory: ./test_programs
@@ -346,8 +354,7 @@ jobs:
346354
- uses: actions/checkout@v6
347355
with:
348356
sparse-checkout: |
349-
.github/actions/download-nargo/action.yml
350-
.github/actions/download-noir-inspector/action.yml
357+
.github/actions/download-binary/action.yml
351358
scripts/gather_benchmark_data.sh
352359
scripts/process_benchmark_data.sh
353360
sparse-checkout-cone-mode: false
@@ -360,10 +367,14 @@ jobs:
360367
ref: ${{ matrix.ref }}
361368

362369
- name: Download nargo binary
363-
uses: ./.github/actions/download-nargo
370+
uses: ./.github/actions/download-binary
371+
with:
372+
name: nargo
364373

365374
- name: Download noir-inspector binary
366-
uses: ./.github/actions/download-noir-inspector
375+
uses: ./.github/actions/download-binary
376+
with:
377+
name: noir-inspector
367378

368379
- name: Generate compilation report
369380
id: compilation_report
@@ -416,7 +427,7 @@ jobs:
416427
- name: Check execution time limit
417428
if: ${{ !matrix.cannot_execute }}
418429
run: |
419-
TIME=$(jq '.execution_time.value' ${{ steps.execution_report.outputs.report_path }})
430+
TIME=$(jq '.execution_time.value' ${{ steps.compilation_report.outputs.report_path }})
420431
TIME_LIMIT=${{ matrix.execution-timeout }}
421432
if awk 'BEGIN{exit !(ARGV[1]>ARGV[2])}' "$TIME" "$TIME_LIMIT"; then
422433
# Don't bump this timeout without understanding why this has happened and confirming that you're not the cause.
@@ -464,15 +475,18 @@ jobs:
464475
steps:
465476
- uses: actions/checkout@v6
466477
with:
478+
# Note that we are checking them out under `scripts`, including the github action.
467479
path: scripts
468480
sparse-checkout: |
469-
.github/actions/download-nargo/action.yml
481+
.github/actions/download-binary/action.yml
470482
test_programs/memory_report.sh
471483
test_programs/parse_memory.sh
472484
sparse-checkout-cone-mode: false
473485

474486
- name: Download nargo binary
475-
uses: ./scripts/.github/actions/download-nargo
487+
uses: ./scripts/.github/actions/download-binary
488+
with:
489+
name: nargo
476490

477491
- name: Checkout
478492
uses: actions/checkout@v6
@@ -605,6 +619,52 @@ jobs:
605619
alert-comment-cc-users: "@TomAFrench"
606620
max-items-in-chart: 50
607621

622+
upload_elaboration_reports:
623+
name: Upload elaboration reports
624+
needs: [external_repo_reports]
625+
timeout-minutes: 5
626+
# We want this job to run even if one variation of the matrix in `external_repo_reports` fails
627+
if: always()
628+
runs-on: ubuntu-22.04
629+
permissions:
630+
pull-requests: write
631+
# deployments permission to deploy GitHub pages website
632+
deployments: write
633+
# contents permission to update benchmark contents in gh-pages branch
634+
contents: write
635+
636+
steps:
637+
- uses: actions/checkout@v6
638+
639+
- name: Download matrix compilation reports
640+
uses: actions/download-artifact@v7
641+
with:
642+
pattern: external_report_*
643+
path: ./reports
644+
merge-multiple: true
645+
646+
- name: Merge elaboration reports using jq
647+
run: |
648+
# Github actions seems to not expand "**" in globs by default.
649+
shopt -s globstar
650+
jq --slurp 'map(.elaboration_time | select(.))' ./reports/* | tee time_bench.json
651+
652+
- name: Store benchmark result
653+
uses: benchmark-action/github-action-benchmark@4bdcce38c94cec68da58d012ac24b7b1155efe8b
654+
with:
655+
name: "Elaboration Time"
656+
tool: "customSmallerIsBetter"
657+
output-file-path: ./time_bench.json
658+
github-token: ${{ secrets.GITHUB_TOKEN }}
659+
# We want this to only run on master to avoid garbage data from PRs being added.
660+
auto-push: ${{ github.ref == 'refs/heads/master' }}
661+
alert-threshold: "120%"
662+
comment-on-alert: true
663+
comment-always: ${{ contains( github.event.pull_request.labels.*.name, 'bench-show') }}
664+
fail-on-alert: false
665+
alert-comment-cc-users: "@TomAFrench"
666+
max-items-in-chart: 50
667+
608668
upload_execution_reports:
609669
name: Upload execution reports
610670
needs: [external_repo_reports]
@@ -994,6 +1054,7 @@ jobs:
9941054
needs:
9951055
- rust_benchmarks
9961056
- upload_compilation_reports
1057+
- upload_elaboration_reports
9971058
- upload_execution_reports
9981059
- upload_artifact_reports
9991060
- upload_opcode_reports

0 commit comments

Comments
 (0)