11name : Foundry Benchmarks
22
3+ permissions : {}
4+
35on :
46 workflow_dispatch :
57 inputs :
1820 type : string
1921 default : " ithacaxyz/account:v0.3.2,Vectorized/solady:v0.1.22"
2022
21- permissions :
22- contents : write
23- pull-requests : write
24-
2523env :
2624 ITHACAXYZ_ACCOUNT : " ithacaxyz/account:v0.3.2"
2725 VECTORIZED_SOLADY : " Vectorized/solady:v0.1.22"
2826 DEFAULT_REPOS : " ithacaxyz/account:v0.3.2,Vectorized/solady:v0.1.22"
27+ RUSTC_WRAPPER : " sccache"
2928
3029jobs :
3130 run-benchmarks :
3231 name : Run All Benchmarks
3332 runs-on : foundry-runner
33+ permissions :
34+ contents : write
3435 steps :
3536 - name : Checkout repository
3637 uses : actions/checkout@v5
38+ with :
39+ persist-credentials : false
3740
3841 - name : Install build dependencies
3942 run : |
4043 sudo apt-get update
4144 sudo apt-get install -y build-essential pkg-config
4245
4346 - name : Setup Rust toolchain
44- uses : dtolnay/rust-toolchain@stable
45-
46- - name : Cache Rust dependencies
47- uses : Swatinem/rust-cache@v2
47+ uses : dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
4848 with :
49- workspaces : |
50- ./
49+ toolchain : stable
50+
51+ - uses : rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878 # v1
52+
53+ - name : Run sccache-cache
54+ uses : mozilla-actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # v0.0.9
5155
5256 - name : Setup Foundry
5357 env :
5458 FOUNDRY_DIR : ${{ github.workspace }}/.foundry
59+ GITHUB_WORKSPACE : ${{ github.workspace }}
5560 run : |
5661 ./.github/scripts/setup-foundryup.sh
57- echo "${{ github.workspace }} /.foundry/bin" >> $GITHUB_PATH
62+ printf '%s\n' "$GITHUB_WORKSPACE /.foundry/bin" >> " $GITHUB_PATH"
5863
5964 - name : Build benchmark binary
6065 run : cargo build --release --bin foundry-bench
6166
6267 - name : Setup Node.js
63- uses : actions/setup-node@v4
68+ uses : actions/setup-node@v5
6469 with :
6570 node-version : " 24"
6671
@@ -150,13 +155,18 @@ jobs:
150155 publish-results :
151156 name : Publish Results
152157 needs : run-benchmarks
153- runs-on : foundry-runner
158+ runs-on : ubuntu-latest
159+ permissions :
160+ contents : write
161+ pull-requests : write
154162 steps :
155163 - name : Checkout repository
156164 uses : actions/checkout@v5
165+ with :
166+ persist-credentials : false
157167
158168 - name : Download benchmark results
159- uses : actions/download-artifact@v4
169+ uses : actions/download-artifact@v5
160170 with :
161171 name : benchmark-results
162172 path : benches/
@@ -169,7 +179,7 @@ jobs:
169179
170180 - name : Create PR for manual runs
171181 if : github.event_name == 'workflow_dispatch'
172- uses : actions/github-script@v7
182+ uses : actions/github-script@v8
173183 with :
174184 script : |
175185 const branchName = '${{ needs.run-benchmarks.outputs.branch_name }}';
@@ -197,7 +207,7 @@ jobs:
197207
198208 - name : Comment on PR
199209 if : github.event.inputs.pr_number != '' || github.event_name == 'pull_request'
200- uses : actions/github-script@v7
210+ uses : actions/github-script@v8
201211 with :
202212 script : |
203213 const prNumber = ${{ github.event.inputs.pr_number || github.event.pull_request.number }};
0 commit comments