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 :
@@ -62,48 +70,57 @@ jobs:
62
70
- name : Run ledger tests
63
71
run : make test-ledger
64
72
65
- ledger-32x9-tests :
66
- runs-on : ubuntu-24.04
67
- steps :
68
- - name : Git checkout
69
- uses : actions/checkout@v5
73
+ # TODO: add back when reimplemented
74
+ # ledger-32x9-tests:
75
+ # runs-on: ubuntu-24.04
76
+ # steps:
77
+ # - name: Git checkout
78
+ # uses: actions/checkout@v5
70
79
71
- - name : Setup build dependencies
72
- uses : ./.github/actions/setup-build-deps
80
+ # - name: Setup build dependencies
81
+ # uses: ./.github/actions/setup-build-deps
73
82
74
- - name : Setup Rust
75
- uses : ./.github/actions/setup-rust
76
- with :
77
- toolchain : nightly
78
- cache-prefix : ledger-32x9-v0
83
+ # - name: Setup Rust
84
+ # uses: ./.github/actions/setup-rust
85
+ # with:
86
+ # toolchain: nightly
87
+ # cache-prefix: ledger-32x9-v0
79
88
80
- - name : Download circuits files
81
- uses : ./.github/actions/setup-circuits
89
+ # - name: Download circuits files
90
+ # uses: ./.github/actions/setup-circuits
82
91
83
- - name : Enable 32x9 fields implementation
84
- run : |
85
- cargo install sd
86
- sd '^mina-curves.*$' '' ./Cargo.toml
87
- sd '^ark-ff = \{ version .*$' '' ./Cargo.toml
88
- sd -F '# UNCOMMENTED_IN_CI ' '' ./Cargo.toml
89
- cat ./Cargo.toml
92
+ # - name: Enable 32x9 fields implementation
93
+ # run: |
94
+ # cargo install sd
95
+ # sd '^mina-curves.*$' '' ./Cargo.toml
96
+ # sd '^ark-ff = \{ version .*$' '' ./Cargo.toml
97
+ # sd -F '# UNCOMMENTED_IN_CI ' '' ./Cargo.toml
98
+ # cat ./Cargo.toml
90
99
91
- - name : Build ledger tests
92
- run : make build-ledger
100
+ # - name: Build ledger tests
101
+ # run: make build-ledger
93
102
94
- - name : Run ledger tests
95
- run : make test-ledger
103
+ # - name: Run ledger tests
104
+ # run: make test-ledger
96
105
97
106
vrf-tests :
98
107
timeout-minutes : 8
99
108
runs-on : ubuntu-24.04
109
+ strategy :
110
+ matrix :
111
+ ocaml_version : [4.14.2]
100
112
steps :
101
113
- name : Git checkout
102
114
uses : actions/checkout@v5
103
115
104
116
- name : Setup build dependencies
105
117
uses : ./.github/actions/setup-build-deps
106
118
119
+ - name : Use shared OCaml setting up steps
120
+ uses : ./.github/actions/setup-ocaml
121
+ with :
122
+ ocaml_version : ${{ matrix.ocaml_version }}
123
+
107
124
- name : Setup Rust
108
125
uses : ./.github/actions/setup-rust
109
126
with :
@@ -140,9 +157,10 @@ jobs:
140
157
# NOTE: If you add or remove platforms from this matrix, make sure to update
141
158
# the documentation at website/docs/developers/getting-started.mdx
142
159
strategy :
143
- fail-fast : false # Allow other platforms to continue if one fails
160
+ fail-fast : false # Allow other platforms to continue if one fails
144
161
matrix :
145
162
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
163
+ ocaml_version : [4.14.2]
146
164
runs-on : ${{ matrix.os }}
147
165
steps :
148
166
- name : Git checkout
@@ -151,6 +169,11 @@ jobs:
151
169
- name : Setup build dependencies
152
170
uses : ./.github/actions/setup-build-deps
153
171
172
+ - name : Use shared OCaml setting up steps
173
+ uses : ./.github/actions/setup-ocaml
174
+ with :
175
+ ocaml_version : ${{ matrix.ocaml_version }}
176
+
154
177
- name : Setup Rust
155
178
uses : ./.github/actions/setup-rust
156
179
with :
@@ -173,9 +196,10 @@ jobs:
173
196
# NOTE: If you add or remove platforms from this matrix, make sure to update
174
197
# the documentation at website/docs/developers/getting-started.mdx
175
198
strategy :
176
- fail-fast : false # Allow other platforms to continue if one fails
199
+ fail-fast : false # Allow other platforms to continue if one fails
177
200
matrix :
178
201
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
202
+ ocaml_version : [4.14.2]
179
203
runs-on : ${{ matrix.os }}
180
204
steps :
181
205
- name : Git checkout
@@ -184,22 +208,30 @@ jobs:
184
208
- name : Setup build dependencies
185
209
uses : ./.github/actions/setup-build-deps
186
210
211
+ - name : Use shared OCaml setting up steps
212
+ uses : ./.github/actions/setup-ocaml
213
+ with :
214
+ ocaml_version : ${{ matrix.ocaml_version }}
215
+
187
216
- name : Setup WebAssembly environment
188
217
uses : ./.github/actions/setup-wasm
189
218
with :
190
219
cache-prefix : wasm-${{ matrix.os }}-v0
191
220
192
221
- name : Release build
193
222
run : make build-wasm
223
+ env :
224
+ RUSTFLAGS : " "
194
225
195
226
build-tests :
196
227
timeout-minutes : 60
197
228
# NOTE: If you add or remove platforms from this matrix, make sure to update
198
229
# the documentation at website/docs/developers/getting-started.mdx
199
230
strategy :
200
- fail-fast : false # Allow other platforms to continue if one fails
231
+ fail-fast : false # Allow other platforms to continue if one fails
201
232
matrix :
202
233
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
234
+ ocaml_version : [4.14.2]
203
235
runs-on : ${{ matrix.os }}
204
236
steps :
205
237
- name : Git checkout
@@ -208,6 +240,11 @@ jobs:
208
240
- name : Setup build dependencies
209
241
uses : ./.github/actions/setup-build-deps
210
242
243
+ - name : Use shared OCaml setting up steps
244
+ uses : ./.github/actions/setup-ocaml
245
+ with :
246
+ ocaml_version : ${{ matrix.ocaml_version }}
247
+
211
248
- name : Setup Rust
212
249
uses : ./.github/actions/setup-rust
213
250
with :
@@ -230,9 +267,10 @@ jobs:
230
267
# NOTE: If you add or remove platforms from this matrix, make sure to update
231
268
# the documentation at website/docs/developers/getting-started.mdx
232
269
strategy :
233
- fail-fast : false # Allow other platforms to continue if one fails
270
+ fail-fast : false # Allow other platforms to continue if one fails
234
271
matrix :
235
272
os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
273
+ ocaml_version : [4.14.2]
236
274
runs-on : ${{ matrix.os }}
237
275
steps :
238
276
- name : Git checkout
@@ -241,6 +279,11 @@ jobs:
241
279
- name : Setup build dependencies
242
280
uses : ./.github/actions/setup-build-deps
243
281
282
+ - name : Use shared OCaml setting up steps
283
+ uses : ./.github/actions/setup-ocaml
284
+ with :
285
+ ocaml_version : ${{ matrix.ocaml_version }}
286
+
244
287
- name : Setup Rust
245
288
uses : ./.github/actions/setup-rust
246
289
with :
@@ -259,7 +302,7 @@ jobs:
259
302
retention-days : 7
260
303
261
304
p2p-scenario-tests :
262
- needs : [ build-tests, build-tests-webrtc ]
305
+ needs : [build-tests, build-tests-webrtc]
263
306
runs-on : ubuntu-24.04
264
307
timeout-minutes : 20
265
308
container :
@@ -269,8 +312,15 @@ jobs:
269
312
BPF_ALIAS : /coda/0.0.1/29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6-0.0.0.0
270
313
strategy :
271
314
matrix :
272
- test : [p2p_basic_connections, p2p_basic_incoming, p2p_basic_outgoing, p2p_pubsub, p2p_kad,
273
- webrtc_p2p_basic_connections]
315
+ test :
316
+ [
317
+ p2p_basic_connections,
318
+ p2p_basic_incoming,
319
+ p2p_basic_outgoing,
320
+ p2p_pubsub,
321
+ p2p_kad,
322
+ webrtc_p2p_basic_connections,
323
+ ]
274
324
fail-fast : false
275
325
276
326
services :
@@ -288,10 +338,10 @@ jobs:
288
338
steps :
289
339
- name : Install libssl3t64 # Our binaries are built on a newer ubuntu and require libssl3t64
290
340
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/*
341
+ apt-get update && \
342
+ apt-get install -y --no-install-recommends libssl3t64 && \
343
+ apt-get clean && \
344
+ rm -rf /var/lib/apt/lists/*
295
345
296
346
- name : Download tests
297
347
uses : actions/download-artifact@v5
@@ -369,10 +419,10 @@ jobs:
369
419
steps :
370
420
- name : Install libssl3t64 # Our binaries are built on a newer ubuntu and require libssl3t64
371
421
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/*
422
+ apt-get update && \
423
+ apt-get install -y --no-install-recommends libssl3t64 && \
424
+ apt-get clean && \
425
+ rm -rf /var/lib/apt/lists/*
376
426
377
427
- name : Download tests
378
428
uses : actions/download-artifact@v5
@@ -426,10 +476,10 @@ jobs:
426
476
steps :
427
477
- name : Install libssl3t64 # Our binaries are built on a newer ubuntu and require libssl3t64
428
478
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/*
479
+ apt-get update && \
480
+ apt-get install -y --no-install-recommends libssl3t64 && \
481
+ apt-get clean && \
482
+ rm -rf /var/lib/apt/lists/*
433
483
434
484
- name : Download tests
435
485
uses : actions/download-artifact@v5
@@ -447,7 +497,7 @@ jobs:
447
497
448
498
bootstrap-test :
449
499
timeout-minutes : 4
450
- needs : [ build, build-tests ]
500
+ needs : [build, build-tests]
451
501
runs-on : ubuntu-24.04
452
502
env :
453
503
MINA_HOME : data
0 commit comments