1
1
name : Mina CI
2
2
on :
3
3
push :
4
- branches : [ main, develop ]
4
+ branches : [main, develop]
5
5
pull_request :
6
- paths-ignore : [ "frontend" ]
6
+ paths-ignore : ["frontend"]
7
7
workflow_dispatch :
8
8
inputs :
9
9
refresh_cache :
10
- description : ' Refresh cargo cache'
10
+ description : " Refresh cargo cache"
11
11
required : false
12
12
type : boolean
13
13
default : false
17
17
RUST_BACKTRACE : full
18
18
MINA_PANIC_ON_BUG : true
19
19
CARGO_INCREMENTAL : 1
20
- RUSTFLAGS : " -C overflow-checks=off -C debug-assertions=off"
20
+ RUSTFLAGS : " -C overflow-checks=off -C debug-assertions=off -C link-args=-Wl,-undefined,dynamic_lookup "
21
21
22
22
concurrency :
23
23
group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
@@ -40,13 +40,21 @@ jobs:
40
40
ledger-tests :
41
41
timeout-minutes : 20
42
42
runs-on : ubuntu-24.04
43
+ strategy :
44
+ matrix :
45
+ ocaml_version : [4.14.2]
43
46
steps :
44
47
- name : Git checkout
45
48
uses : actions/checkout@v5
46
49
47
50
- name : Setup build dependencies
48
51
uses : ./.github/actions/setup-build-deps
49
52
53
+ - name : Use shared OCaml setting up steps
54
+ uses : ./.github/actions/setup-ocaml
55
+ with :
56
+ ocaml_version : ${{ matrix.ocaml_version }}
57
+
50
58
- name : Setup Rust
51
59
uses : ./.github/actions/setup-rust
52
60
with :
@@ -97,13 +105,21 @@ jobs:
97
105
vrf-tests :
98
106
timeout-minutes : 8
99
107
runs-on : ubuntu-24.04
108
+ strategy :
109
+ matrix :
110
+ ocaml_version : [4.14.2]
100
111
steps :
101
112
- name : Git checkout
102
113
uses : actions/checkout@v5
103
114
104
115
- name : Setup build dependencies
105
116
uses : ./.github/actions/setup-build-deps
106
117
118
+ - name : Use shared OCaml setting up steps
119
+ uses : ./.github/actions/setup-ocaml
120
+ with :
121
+ ocaml_version : ${{ matrix.ocaml_version }}
122
+
107
123
- name : Setup Rust
108
124
uses : ./.github/actions/setup-rust
109
125
with :
@@ -140,9 +156,10 @@ jobs:
140
156
# NOTE: If you add or remove platforms from this matrix, make sure to update
141
157
# the documentation at website/docs/developers/getting-started.mdx
142
158
strategy :
143
- fail-fast : false # Allow other platforms to continue if one fails
159
+ fail-fast : false # Allow other platforms to continue if one fails
144
160
matrix :
145
161
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
162
+ ocaml_version : [4.14.2]
146
163
runs-on : ${{ matrix.os }}
147
164
steps :
148
165
- name : Git checkout
@@ -151,6 +168,11 @@ jobs:
151
168
- name : Setup build dependencies
152
169
uses : ./.github/actions/setup-build-deps
153
170
171
+ - name : Use shared OCaml setting up steps
172
+ uses : ./.github/actions/setup-ocaml
173
+ with :
174
+ ocaml_version : ${{ matrix.ocaml_version }}
175
+
154
176
- name : Setup Rust
155
177
uses : ./.github/actions/setup-rust
156
178
with :
@@ -173,9 +195,10 @@ jobs:
173
195
# NOTE: If you add or remove platforms from this matrix, make sure to update
174
196
# the documentation at website/docs/developers/getting-started.mdx
175
197
strategy :
176
- fail-fast : false # Allow other platforms to continue if one fails
198
+ fail-fast : false # Allow other platforms to continue if one fails
177
199
matrix :
178
200
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
201
+ ocaml_version : [4.14.2]
179
202
runs-on : ${{ matrix.os }}
180
203
steps :
181
204
- name : Git checkout
@@ -184,22 +207,30 @@ jobs:
184
207
- name : Setup build dependencies
185
208
uses : ./.github/actions/setup-build-deps
186
209
210
+ - name : Use shared OCaml setting up steps
211
+ uses : ./.github/actions/setup-ocaml
212
+ with :
213
+ ocaml_version : ${{ matrix.ocaml_version }}
214
+
187
215
- name : Setup WebAssembly environment
188
216
uses : ./.github/actions/setup-wasm
189
217
with :
190
218
cache-prefix : wasm-${{ matrix.os }}-v0
191
219
192
220
- name : Release build
193
221
run : make build-wasm
222
+ env :
223
+ RUSTFLAGS : " "
194
224
195
225
build-tests :
196
226
timeout-minutes : 60
197
227
# NOTE: If you add or remove platforms from this matrix, make sure to update
198
228
# the documentation at website/docs/developers/getting-started.mdx
199
229
strategy :
200
- fail-fast : false # Allow other platforms to continue if one fails
230
+ fail-fast : false # Allow other platforms to continue if one fails
201
231
matrix :
202
232
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
233
+ ocaml_version : [4.14.2]
203
234
runs-on : ${{ matrix.os }}
204
235
steps :
205
236
- name : Git checkout
@@ -208,6 +239,11 @@ jobs:
208
239
- name : Setup build dependencies
209
240
uses : ./.github/actions/setup-build-deps
210
241
242
+ - name : Use shared OCaml setting up steps
243
+ uses : ./.github/actions/setup-ocaml
244
+ with :
245
+ ocaml_version : ${{ matrix.ocaml_version }}
246
+
211
247
- name : Setup Rust
212
248
uses : ./.github/actions/setup-rust
213
249
with :
@@ -230,9 +266,10 @@ jobs:
230
266
# NOTE: If you add or remove platforms from this matrix, make sure to update
231
267
# the documentation at website/docs/developers/getting-started.mdx
232
268
strategy :
233
- fail-fast : false # Allow other platforms to continue if one fails
269
+ fail-fast : false # Allow other platforms to continue if one fails
234
270
matrix :
235
271
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
272
+ ocaml_version : [4.14.2]
236
273
runs-on : ${{ matrix.os }}
237
274
steps :
238
275
- name : Git checkout
@@ -241,6 +278,11 @@ jobs:
241
278
- name : Setup build dependencies
242
279
uses : ./.github/actions/setup-build-deps
243
280
281
+ - name : Use shared OCaml setting up steps
282
+ uses : ./.github/actions/setup-ocaml
283
+ with :
284
+ ocaml_version : ${{ matrix.ocaml_version }}
285
+
244
286
- name : Setup Rust
245
287
uses : ./.github/actions/setup-rust
246
288
with :
@@ -259,7 +301,7 @@ jobs:
259
301
retention-days : 7
260
302
261
303
p2p-scenario-tests :
262
- needs : [ build-tests, build-tests-webrtc ]
304
+ needs : [build-tests, build-tests-webrtc]
263
305
runs-on : ubuntu-24.04
264
306
timeout-minutes : 20
265
307
container :
@@ -269,8 +311,15 @@ jobs:
269
311
BPF_ALIAS : /coda/0.0.1/29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6-0.0.0.0
270
312
strategy :
271
313
matrix :
272
- test : [p2p_basic_connections, p2p_basic_incoming, p2p_basic_outgoing, p2p_pubsub, p2p_kad,
273
- webrtc_p2p_basic_connections]
314
+ test :
315
+ [
316
+ p2p_basic_connections,
317
+ p2p_basic_incoming,
318
+ p2p_basic_outgoing,
319
+ p2p_pubsub,
320
+ p2p_kad,
321
+ webrtc_p2p_basic_connections,
322
+ ]
274
323
fail-fast : false
275
324
276
325
services :
@@ -288,10 +337,10 @@ jobs:
288
337
steps :
289
338
- name : Install libssl3t64 # Our binaries are built on a newer ubuntu and require libssl3t64
290
339
run : |
291
- apt-get update && \
292
- apt-get install -y --no-install-recommends libssl3t64 && \
293
- apt-get clean && \
294
- rm -rf /var/lib/apt/lists/*
340
+ apt-get update && \
341
+ apt-get install -y --no-install-recommends libssl3t64 && \
342
+ apt-get clean && \
343
+ rm -rf /var/lib/apt/lists/*
295
344
296
345
- name : Download tests
297
346
uses : actions/download-artifact@v5
@@ -369,10 +418,10 @@ jobs:
369
418
steps :
370
419
- name : Install libssl3t64 # Our binaries are built on a newer ubuntu and require libssl3t64
371
420
run : |
372
- apt-get update && \
373
- apt-get install -y --no-install-recommends libssl3t64 && \
374
- apt-get clean && \
375
- rm -rf /var/lib/apt/lists/*
421
+ apt-get update && \
422
+ apt-get install -y --no-install-recommends libssl3t64 && \
423
+ apt-get clean && \
424
+ rm -rf /var/lib/apt/lists/*
376
425
377
426
- name : Download tests
378
427
uses : actions/download-artifact@v5
@@ -426,10 +475,10 @@ jobs:
426
475
steps :
427
476
- name : Install libssl3t64 # Our binaries are built on a newer ubuntu and require libssl3t64
428
477
run : |
429
- apt-get update && \
430
- apt-get install -y --no-install-recommends libssl3t64 && \
431
- apt-get clean && \
432
- rm -rf /var/lib/apt/lists/*
478
+ apt-get update && \
479
+ apt-get install -y --no-install-recommends libssl3t64 && \
480
+ apt-get clean && \
481
+ rm -rf /var/lib/apt/lists/*
433
482
434
483
- name : Download tests
435
484
uses : actions/download-artifact@v5
@@ -447,7 +496,7 @@ jobs:
447
496
448
497
bootstrap-test :
449
498
timeout-minutes : 4
450
- needs : [ build, build-tests ]
499
+ needs : [build, build-tests]
451
500
runs-on : ubuntu-24.04
452
501
env :
453
502
MINA_HOME : data
0 commit comments