Skip to content

Commit 3076f01

Browse files
committed
[1 changes] feat: add Expr::resolve and TypedExpr::as_function_definition (noir-lang/noir#5859)
feat: LSP signature help for assert and assert_eq (noir-lang/noir#5862) fix(sha256): Add extra checks against message size when constructing msg blocks (noir-lang/noir#5861) feat: show backtrace on comptime assertion failures (noir-lang/noir#5842) feat: add `Expr::as_assert` (noir-lang/noir#5857) chore: underconstrained check in parallel (noir-lang/noir#5848) feat(meta): Comptime keccak (noir-lang/noir#5854) feat(optimization): Avoid merging identical (by ID) arrays (noir-lang/noir#5853) feat: add `FunctionDef::body` (noir-lang/noir#5825) fix(sha256): Fix upper bound when building msg block and delay final block compression under certain cases (noir-lang/noir#5838) feat: remove unnecessary copying of vector size during reversal (noir-lang/noir#5852) chore: Add missing cases to arithmetic generics (noir-lang/noir#5841) feat: warn on unused imports (noir-lang/noir#5847) chore: add documentation to `to_be_bytes`, etc. (noir-lang/noir#5843) feat: simplify constant calls to `poseidon2_permutation`, `schnorr_verify` and `embedded_curve_add` (noir-lang/noir#5140) chore: don't require empty `Prover.toml` for programs with zero arguments but a return value (noir-lang/noir#5845) fix!: Check unused generics are bound (noir-lang/noir#5840) chore(perf): Simplify poseidon2 algorithm (noir-lang/noir#5811) chore: redo typo PR by nnsW3 (noir-lang/noir#5834) fix(sha256): Perform compression per block and utilize ROM instead of RAM when setting up the message block (noir-lang/noir#5760) chore(perf): Update to stdlib keccak for reduced Brillig code size (noir-lang/noir#5827)
1 parent 91042c7 commit 3076f01

File tree

392 files changed

+16570
-4558
lines changed

Some content is hidden

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

392 files changed

+16570
-4558
lines changed

.noir-sync-commit

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0ebf1fee471641db0bffcc8307d20327613c78c1
1+
bceee55cc3833978d120e194820cfae9132c8006

noir/noir-repo/.github/workflows/gates_report.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080
8181
- name: Compare gates reports
8282
id: gates_diff
83-
uses: vezenovm/noir-gates-diff@acf12797860f237117e15c0d6e08d64253af52b6
83+
uses: noir-lang/noir-gates-diff@1931aaaa848a1a009363d6115293f7b7fc72bb87
8484
with:
8585
report: gates_report.json
8686
summaryQuantile: 0.9 # only display the 10% most significant circuit size diffs in the summary (defaults to 20%)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Report Brillig bytecode size diff
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
9+
jobs:
10+
build-nargo:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
target: [x86_64-unknown-linux-gnu]
15+
16+
steps:
17+
- name: Checkout Noir repo
18+
uses: actions/checkout@v4
19+
20+
- name: Setup toolchain
21+
uses: dtolnay/rust-toolchain@1.74.1
22+
23+
- uses: Swatinem/rust-cache@v2
24+
with:
25+
key: ${{ matrix.target }}
26+
cache-on-failure: true
27+
save-if: ${{ github.event_name != 'merge_group' }}
28+
29+
- name: Build Nargo
30+
run: cargo build --package nargo_cli --release
31+
32+
- name: Package artifacts
33+
run: |
34+
mkdir dist
35+
cp ./target/release/nargo ./dist/nargo
36+
7z a -ttar -so -an ./dist/* | 7z a -si ./nargo-x86_64-unknown-linux-gnu.tar.gz
37+
38+
- name: Upload artifact
39+
uses: actions/upload-artifact@v4
40+
with:
41+
name: nargo
42+
path: ./dist/*
43+
retention-days: 3
44+
45+
compare_brillig_bytecode_size_reports:
46+
needs: [build-nargo]
47+
runs-on: ubuntu-latest
48+
permissions:
49+
pull-requests: write
50+
51+
steps:
52+
- uses: actions/checkout@v4
53+
54+
- name: Download nargo binary
55+
uses: actions/download-artifact@v4
56+
with:
57+
name: nargo
58+
path: ./nargo
59+
60+
- name: Set nargo on PATH
61+
run: |
62+
nargo_binary="${{ github.workspace }}/nargo/nargo"
63+
chmod +x $nargo_binary
64+
echo "$(dirname $nargo_binary)" >> $GITHUB_PATH
65+
export PATH="$PATH:$(dirname $nargo_binary)"
66+
nargo -V
67+
68+
- name: Generate Brillig bytecode size report
69+
working-directory: ./test_programs
70+
run: |
71+
chmod +x gates_report_brillig.sh
72+
./gates_report_brillig.sh
73+
mv gates_report_brillig.json ../gates_report_brillig.json
74+
75+
- name: Compare Brillig bytecode size reports
76+
id: brillig_bytecode_diff
77+
uses: noir-lang/noir-gates-diff@3fb844067b25d1b59727ea600b614503b33503f4
78+
with:
79+
report: gates_report_brillig.json
80+
header: |
81+
# Changes to Brillig bytecode sizes
82+
brillig_report: true
83+
summaryQuantile: 0.9 # only display the 10% most significant bytecode size diffs in the summary (defaults to 20%)
84+
85+
- name: Add bytecode size diff to sticky comment
86+
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
87+
uses: marocchino/sticky-pull-request-comment@v2
88+
with:
89+
header: brillig
90+
# delete the comment in case changes no longer impact brillig bytecode sizes
91+
delete: ${{ !steps.brillig_bytecode_diff.outputs.markdown }}
92+
message: ${{ steps.brillig_bytecode_diff.outputs.markdown }}

noir/noir-repo/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ tooling/noir_js/lib
3333
!compiler/wasm/noir-script/target
3434

3535
gates_report.json
36+
gates_report_brillig.json
3637

3738
# Github Actions scratch space
3839
# This gives a location to download artifacts into the repository in CI without making git dirty.

0 commit comments

Comments
 (0)