1111 required : false
1212 type : boolean
1313 default : false
14+ os :
15+ description : " Operating system to run on"
16+ required : false
17+ type : string
18+ default : " ubuntu-24.04"
19+ ocaml_version :
20+ description : " OCaml version to use"
21+ required : false
22+ type : string
23+ default : " 4.14.2"
24+ rust_toolchain :
25+ description : " Rust toolchain version to use"
26+ required : false
27+ type : string
28+ default : " 1.84"
1429
1530env :
1631 CARGO_TERM_COLOR : always
@@ -26,23 +41,20 @@ concurrency:
2641jobs :
2742 refresh-cache :
2843 if : ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.refresh_cache == 'true' }}
29- runs-on : ubuntu-24.04
44+ runs-on : ${{ inputs.os }}
3045 steps :
3146 - uses : actions/checkout@v5
3247 - name : Setup Rust
3348 uses : ./.github/actions/setup-rust
3449 with :
35- toolchain : 1.84
50+ toolchain : ${{ inputs.rust_toolchain }}
3651 enable-cache : false
3752 - name : Clean cargo cache
3853 run : cargo clean
3954
4055 ledger-tests :
4156 timeout-minutes : 20
42- runs-on : ubuntu-24.04
43- strategy :
44- matrix :
45- ocaml_version : [4.14.2]
57+ runs-on : ${{ inputs.os }}
4658 steps :
4759 - name : Git checkout
4860 uses : actions/checkout@v5
5365 - name : Use shared OCaml setting up steps
5466 uses : ./.github/actions/setup-ocaml
5567 with :
56- ocaml_version : ${{ matrix .ocaml_version }}
68+ ocaml_version : ${{ inputs .ocaml_version }}
5769
5870 - name : Setup Rust
5971 uses : ./.github/actions/setup-rust
7284
7385 p2p-messages-tests :
7486 timeout-minutes : 20
75- runs-on : ubuntu-24.04
87+ runs-on : ${{ inputs.os }}
7688 steps :
7789 - name : Git checkout
7890 uses : actions/checkout@v5
@@ -127,10 +139,7 @@ jobs:
127139
128140 vrf-tests :
129141 timeout-minutes : 20
130- runs-on : ubuntu-24.04
131- strategy :
132- matrix :
133- ocaml_version : [4.14.2]
142+ runs-on : ${{ inputs.os }}
134143 steps :
135144 - name : Git checkout
136145 uses : actions/checkout@v5
@@ -141,7 +150,7 @@ jobs:
141150 - name : Use shared OCaml setting up steps
142151 uses : ./.github/actions/setup-ocaml
143152 with :
144- ocaml_version : ${{ matrix .ocaml_version }}
153+ ocaml_version : ${{ inputs .ocaml_version }}
145154
146155 - name : Setup Rust
147156 uses : ./.github/actions/setup-rust
@@ -157,7 +166,7 @@ jobs:
157166
158167 p2p-tests :
159168 timeout-minutes : 15
160- runs-on : ubuntu-24.04
169+ runs-on : ${{ inputs.os }}
161170 steps :
162171 - name : Git checkout
163172 uses : actions/checkout@v5
@@ -168,7 +177,7 @@ jobs:
168177 - name : Setup Rust
169178 uses : ./.github/actions/setup-rust
170179 with :
171- toolchain : 1.84
180+ toolchain : ${{ inputs.rust_toolchain }}
172181 cache-prefix : p2p-v0
173182
174183 - name : Test p2p crate
@@ -177,7 +186,7 @@ jobs:
177186 # Fast builds specifically for test artifacts - no cross-platform matrix
178187 build :
179188 timeout-minutes : 60
180- runs-on : ubuntu-22.04
189+ runs-on : ${{ inputs.os }}
181190 steps :
182191 - name : Git checkout
183192 uses : actions/checkout@v5
@@ -188,12 +197,12 @@ jobs:
188197 - name : Use shared OCaml setting up steps
189198 uses : ./.github/actions/setup-ocaml
190199 with :
191- ocaml_version : 4.14.2
200+ ocaml_version : ${{ inputs.ocaml_version }}
192201
193202 - name : Setup Rust
194203 uses : ./.github/actions/setup-rust
195204 with :
196- toolchain : 1.84
205+ toolchain : ${{ inputs.rust_toolchain }}
197206 cache-prefix : build-v0
198207
199208 - name : Release build
@@ -225,7 +234,7 @@ jobs:
225234
226235 build-tests :
227236 timeout-minutes : 60
228- runs-on : ubuntu-22.04
237+ runs-on : ${{ inputs.os }}
229238 steps :
230239 - name : Git checkout
231240 uses : actions/checkout@v5
@@ -236,12 +245,12 @@ jobs:
236245 - name : Use shared OCaml setting up steps
237246 uses : ./.github/actions/setup-ocaml
238247 with :
239- ocaml_version : 4.14.2
248+ ocaml_version : ${{ inputs.ocaml_version }}
240249
241250 - name : Setup Rust
242251 uses : ./.github/actions/setup-rust
243252 with :
244- toolchain : 1.84
253+ toolchain : ${{ inputs.rust_toolchain }}
245254 cache-prefix : build-tests-v0
246255
247256 - name : Build tests
@@ -256,7 +265,7 @@ jobs:
256265
257266 build-tests-webrtc :
258267 timeout-minutes : 60
259- runs-on : ubuntu-22.04
268+ runs-on : ${{ inputs.os }}
260269 steps :
261270 - name : Git checkout
262271 uses : actions/checkout@v5
@@ -267,12 +276,12 @@ jobs:
267276 - name : Use shared OCaml setting up steps
268277 uses : ./.github/actions/setup-ocaml
269278 with :
270- ocaml_version : 4.14.2
279+ ocaml_version : ${{ inputs.ocaml_version }}
271280
272281 - name : Setup Rust
273282 uses : ./.github/actions/setup-rust
274283 with :
275- toolchain : 1.84
284+ toolchain : ${{ inputs.rust_toolchain }}
276285 cache-prefix : build-tests-webrtc-v0
277286
278287 - name : Build tests
@@ -288,7 +297,7 @@ jobs:
288297
289298 p2p-scenario-tests :
290299 needs : [build-tests, build-tests-webrtc]
291- runs-on : ubuntu-24.04
300+ runs-on : ${{ inputs.os }}
292301 timeout-minutes : 20
293302 container :
294303 image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta2-939b08d-noble-devnet
@@ -360,7 +369,7 @@ jobs:
360369 needs :
361370 - build-tests
362371 - build-tests-webrtc
363- runs-on : ubuntu-24.04
372+ runs-on : ${{ inputs.os }}
364373 container :
365374 image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta2-939b08d-noble-devnet
366375 options : --volume debugger_data:/tmp/db
@@ -447,7 +456,7 @@ jobs:
447456 needs :
448457 - build-tests
449458 - build-tests-webrtc
450- runs-on : ubuntu-24.04
459+ runs-on : ${{ inputs.os }}
451460 container :
452461 image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta2-939b08d-noble-devnet
453462 env :
@@ -483,7 +492,7 @@ jobs:
483492 bootstrap-test :
484493 timeout-minutes : 10
485494 needs : [build, build-tests]
486- runs-on : ubuntu-24.04
495+ runs-on : ${{ inputs.os }}
487496 env :
488497 MINA_HOME : data
489498 BPF_ALIAS : /coda/0.0.1/29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6-0.0.0.0
0 commit comments