Skip to content

Commit 5ef8405

Browse files
CI: Make cache keys depend on Cairo version (#2056)
* Add Makefile and requirements.txt to cache key * Don't fetch cairo stwo exclusive programs * Remove empty file * Restrict caching Cairo programs Revert how the Rust workflow uses the Cairo program paths to calculate the cache keys. This change would imply the branch only adds Makefile and requirements.txt to the cache key computation. --------- Co-authored-by: gabrielbosio <[email protected]> Co-authored-by: Gabriel Bosio <[email protected]>
1 parent 6b283d7 commit 5ef8405

File tree

1 file changed

+18
-26
lines changed

1 file changed

+18
-26
lines changed

.github/workflows/rust.yml

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,7 @@ jobs:
6666
id: cache-programs
6767
with:
6868
path: ${{ env.CAIRO_PROGRAMS_PATH }}
69-
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
70-
restore-keys: ${{ matrix.program-target }}-cache-
69+
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
7170

7271
# This is not pretty, but we need `make` to see the compiled programs are
7372
# actually newer than the sources, otherwise it will try to rebuild them
@@ -121,44 +120,38 @@ jobs:
121120
uses: actions/cache/restore@v3
122121
with:
123122
path: ${{ env.CAIRO_PROGRAMS_PATH }}
124-
key: cairo_test_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
125-
fail-on-cache-miss: true
126-
- name: Fetch cairo stwo exclusive programs
127-
uses: actions/cache/restore@v3
128-
with:
129-
path: ${{ env.CAIRO_PROGRAMS_PATH }}
130-
key: cairo_stwo_exclusive_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
123+
key: cairo_test_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
131124
fail-on-cache-miss: true
132125
- name: Fetch proof programs
133126
uses: actions/cache/restore@v3
134127
with:
135128
path: ${{ env.CAIRO_PROGRAMS_PATH }}
136-
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
129+
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
137130
fail-on-cache-miss: true
138131
- name: Fetch bench programs
139132
uses: actions/cache/restore@v3
140133
with:
141134
path: ${{ env.CAIRO_PROGRAMS_PATH }}
142-
key: cairo_bench_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
135+
key: cairo_bench_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
143136
fail-on-cache-miss: true
144137
- name: Fetch test contracts (Cairo 1)
145138
uses: actions/cache/restore@v3
146139
with:
147140
path: ${{ env.CAIRO_PROGRAMS_PATH }}
148-
key: cairo_1_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
141+
key: cairo_1_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
149142
fail-on-cache-miss: true
150143
- name: Fetch test contracts (Cairo 2)
151144
uses: actions/cache/restore@v3
152145
with:
153146
path: ${{ env.CAIRO_PROGRAMS_PATH }}
154-
key: cairo_2_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
147+
key: cairo_2_test_contracts-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
155148
fail-on-cache-miss: true
156149

157150
- name: Merge caches
158151
uses: actions/cache/save@v3
159152
with:
160153
path: ${{ env.CAIRO_PROGRAMS_PATH }}
161-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
154+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
162155

163156
lint:
164157
needs: merge-caches
@@ -187,7 +180,7 @@ jobs:
187180
uses: actions/cache/restore@v3
188181
with:
189182
path: ${{ env.CAIRO_PROGRAMS_PATH }}
190-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
183+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
191184
fail-on-cache-miss: true
192185

193186
- name: Run clippy
@@ -232,7 +225,7 @@ jobs:
232225
uses: actions/cache/restore@v3
233226
with:
234227
path: ${{ env.CAIRO_PROGRAMS_PATH }}
235-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
228+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
236229
fail-on-cache-miss: true
237230

238231
# NOTE: we do this separately because --workspace operates in weird ways
@@ -279,7 +272,7 @@ jobs:
279272
uses: actions/cache/restore@v3
280273
with:
281274
path: ${{ env.CAIRO_PROGRAMS_PATH }}
282-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
275+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
283276
fail-on-cache-miss: true
284277

285278
- name: Check all features (workspace)
@@ -314,7 +307,7 @@ jobs:
314307
uses: actions/cache/restore@v3
315308
with:
316309
path: ${{ env.CAIRO_PROGRAMS_PATH }}
317-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
310+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
318311
fail-on-cache-miss: true
319312

320313
- name: Check no-std
@@ -351,7 +344,7 @@ jobs:
351344
uses: actions/cache/restore@v3
352345
with:
353346
path: ${{ env.CAIRO_PROGRAMS_PATH }}
354-
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
347+
key: all-programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
355348
fail-on-cache-miss: true
356349

357350
- name: Install testing tools
@@ -448,8 +441,7 @@ jobs:
448441
cairo_programs/**/*.air_public_input
449442
cairo_programs/**/*.air_private_input
450443
cairo_programs/**/*.pie.zip
451-
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
452-
restore-keys: ${{ matrix.program-target }}-reference-trace-cache-
444+
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
453445

454446
- name: Python3 Build
455447
if: steps.trace-cache.outputs.cache-hit != 'true'
@@ -467,7 +459,7 @@ jobs:
467459
uses: actions/cache/restore@v3
468460
with:
469461
path: ${{ env.CAIRO_PROGRAMS_PATH }}
470-
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
462+
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
471463
fail-on-cache-miss: true
472464

473465
# This is not pretty, but we need `make` to see the compiled programs are
@@ -520,7 +512,7 @@ jobs:
520512
uses: actions/cache/restore@v3
521513
with:
522514
path: ${{ env.CAIRO_PROGRAMS_PATH }}
523-
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
515+
key: ${{ matrix.program-target }}-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
524516
fail-on-cache-miss: true
525517

526518
- name: Generate traces
@@ -675,7 +667,7 @@ jobs:
675667
cairo_programs/**/*.air_public_input
676668
cairo_programs/**/*.air_private_input
677669
cairo_programs/**/*.pie.zip
678-
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
670+
key: ${{ matrix.program-target }}-reference-trace-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
679671
fail-on-cache-miss: true
680672

681673
- name: Fetch traces for cairo-vm
@@ -760,7 +752,7 @@ jobs:
760752
uses: actions/cache/restore@v3
761753
with:
762754
path: ${{ env.CAIRO_PROGRAMS_PATH }}
763-
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
755+
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
764756
fail-on-cache-miss: true
765757

766758
- name: Run script
@@ -799,7 +791,7 @@ jobs:
799791
uses: actions/cache/restore@v3
800792
with:
801793
path: ${{ env.CAIRO_PROGRAMS_PATH }}
802-
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo') }}
794+
key: cairo_proof_programs-cache-${{ hashFiles('cairo_programs/**/*.cairo', 'examples/wasm-demo/src/array_sum.cairo', 'Makefile', 'requirements.txt') }}
803795
fail-on-cache-miss: true
804796

805797
- name: Fetch pie

0 commit comments

Comments
 (0)