@@ -17,7 +17,7 @@ concurrency:
17
17
18
18
jobs :
19
19
ledger-tests :
20
- runs-on : ubuntu-22 .04
20
+ runs-on : ubuntu-24 .04
21
21
steps :
22
22
- name : Git checkout
23
23
uses : actions/checkout@v4
40
40
make test-ledger
41
41
42
42
ledger-32x9-tests :
43
- runs-on : ubuntu-22 .04
43
+ runs-on : ubuntu-24 .04
44
44
steps :
45
45
- name : Git checkout
46
46
uses : actions/checkout@v4
70
70
make test-ledger
71
71
72
72
vrf-tests :
73
- runs-on : ubuntu-22 .04
73
+ runs-on : ubuntu-24 .04
74
74
steps :
75
75
- name : Git checkout
76
76
uses : actions/checkout@v4
90
90
make test-vrf
91
91
92
92
p2p-tests :
93
- runs-on : ubuntu-22 .04
93
+ runs-on : ubuntu-24 .04
94
94
steps :
95
95
- name : Git checkout
96
96
uses : actions/checkout@v4
@@ -116,16 +116,27 @@ jobs:
116
116
make test-p2p
117
117
118
118
build :
119
- runs-on : ubuntu-22.04
119
+ # NOTE: If you add or remove platforms from this matrix, make sure to update
120
+ # the documentation at website/docs/developers/getting-started.mdx
121
+ strategy :
122
+ matrix :
123
+ os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
124
+ runs-on : ${{ matrix.os }}
120
125
steps :
121
126
- name : Git checkout
122
127
uses : actions/checkout@v4
123
128
124
- - name : Setup build dependencies
129
+ - name : Setup build dependencies (Ubuntu)
130
+ if : startsWith(matrix.os, 'ubuntu')
125
131
run : |
126
132
sudo apt update
127
133
sudo apt install -y protobuf-compiler
128
134
135
+ - name : Setup build dependencies (macOS)
136
+ if : startsWith(matrix.os, 'macos')
137
+ run : |
138
+ brew install protobuf
139
+
129
140
- name : Setup Rust
130
141
uses : dtolnay/rust-toolchain@stable
131
142
with :
@@ -142,53 +153,76 @@ jobs:
142
153
make build-release
143
154
144
155
- name : Upload binaries
156
+ if : matrix.os == 'ubuntu-22.04'
145
157
uses : actions/upload-artifact@v4
146
158
with :
147
159
name : bin
148
160
path : target/release/openmina
149
161
150
- build_wasm :
151
- runs-on : ubuntu-22.04
152
- steps :
153
- - name : Git checkout
154
- uses : actions/checkout@v4
155
-
156
- - name : Setup build dependencies
157
- run : |
158
- sudo apt update
159
- sudo apt install -y protobuf-compiler
160
-
161
- - name : Setup Rust
162
- uses : dtolnay/rust-toolchain@stable
163
- with :
164
- components : rustfmt, rust-src
165
- toolchain : nightly
166
-
167
- - name : Install wasm32 and wasm-bindgen-cli
168
- run : |
169
- rustup target add wasm32-unknown-unknown
170
- cargo install -f wasm-bindgen-cli --version 0.2.99
171
-
172
- - name : Setup Rust Cache
173
- uses : Swatinem/rust-cache@v2
174
- with :
175
- prefix-key : " v0"
176
-
177
- - name : Release build
178
- run : |
179
- make build-wasm
162
+ build-wasm :
163
+ # NOTE: If you add or remove platforms from this matrix, make sure to update
164
+ # the documentation at website/docs/developers/getting-started.mdx
165
+ strategy :
166
+ matrix :
167
+ os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
168
+ runs-on : ${{ matrix.os }}
169
+ steps :
170
+ - name : Git checkout
171
+ uses : actions/checkout@v4
172
+
173
+ - name : Setup build dependencies (Ubuntu)
174
+ if : startsWith(matrix.os, 'ubuntu')
175
+ run : |
176
+ sudo apt update
177
+ sudo apt install -y protobuf-compiler
178
+
179
+ - name : Setup build dependencies (macOS)
180
+ if : startsWith(matrix.os, 'macos')
181
+ run : |
182
+ brew install protobuf
183
+
184
+ - name : Setup Rust
185
+ uses : dtolnay/rust-toolchain@stable
186
+ with :
187
+ components : rustfmt, rust-src
188
+ toolchain : nightly
189
+
190
+ - name : Install wasm32 and wasm-bindgen-cli
191
+ run : |
192
+ rustup target add wasm32-unknown-unknown
193
+ cargo install -f wasm-bindgen-cli --version 0.2.99
194
+
195
+ - name : Setup Rust Cache
196
+ uses : Swatinem/rust-cache@v2
197
+ with :
198
+ prefix-key : " v0"
199
+
200
+ - name : Release build
201
+ run : |
202
+ make build-wasm
180
203
181
204
build-tests :
182
- runs-on : ubuntu-22.04
205
+ # NOTE: If you add or remove platforms from this matrix, make sure to update
206
+ # the documentation at website/docs/developers/getting-started.mdx
207
+ strategy :
208
+ matrix :
209
+ os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
210
+ runs-on : ${{ matrix.os }}
183
211
steps :
184
212
- name : Git checkout
185
213
uses : actions/checkout@v4
186
214
187
- - name : Setup build dependencies
215
+ - name : Setup build dependencies (Ubuntu)
216
+ if : startsWith(matrix.os, 'ubuntu')
188
217
run : |
189
218
sudo apt update
190
219
sudo apt install -y protobuf-compiler
191
220
221
+ - name : Setup build dependencies (macOS)
222
+ if : startsWith(matrix.os, 'macos')
223
+ run : |
224
+ brew install protobuf
225
+
192
226
- name : Setup Rust
193
227
uses : dtolnay/rust-toolchain@stable
194
228
with :
@@ -210,22 +244,34 @@ jobs:
210
244
while read NAME FILE; do cp -a $FILE target/release/tests/$NAME; done < tests.tsv
211
245
212
246
- name : Upload tests
247
+ if : matrix.os == 'ubuntu-22.04'
213
248
uses : actions/upload-artifact@v4
214
249
with :
215
250
name : tests
216
251
path : target/release/tests
217
252
218
253
build-tests-webrtc :
219
- runs-on : ubuntu-22.04
254
+ # NOTE: If you add or remove platforms from this matrix, make sure to update
255
+ # the documentation at website/docs/developers/getting-started.mdx
256
+ strategy :
257
+ matrix :
258
+ os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-latest]
259
+ runs-on : ${{ matrix.os }}
220
260
steps :
221
261
- name : Git checkout
222
262
uses : actions/checkout@v4
223
263
224
- - name : Setup build dependencies
264
+ - name : Setup build dependencies (Ubuntu)
265
+ if : startsWith(matrix.os, 'ubuntu')
225
266
run : |
226
267
sudo apt update
227
268
sudo apt install -y protobuf-compiler
228
269
270
+ - name : Setup build dependencies (macOS)
271
+ if : startsWith(matrix.os, 'macos')
272
+ run : |
273
+ brew install protobuf
274
+
229
275
- name : Setup Rust
230
276
uses : dtolnay/rust-toolchain@stable
231
277
with :
@@ -242,14 +288,15 @@ jobs:
242
288
make build-tests-webrtc
243
289
244
290
- name : Upload tests
291
+ if : matrix.os == 'ubuntu-22.04'
245
292
uses : actions/upload-artifact@v4
246
293
with :
247
294
name : tests-webrtc
248
295
path : target/release/tests
249
296
250
297
p2p-scenario-tests :
251
298
needs : [ build-tests, build-tests-webrtc ]
252
- runs-on : ubuntu-22 .04
299
+ runs-on : ubuntu-24 .04
253
300
container :
254
301
image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta1-978866c-bullseye-devnet
255
302
options : --volume debugger_data:/tmp/db
@@ -312,7 +359,7 @@ jobs:
312
359
needs :
313
360
- build-tests
314
361
- build-tests-webrtc
315
- runs-on : ubuntu-22 .04
362
+ runs-on : ubuntu-24 .04
316
363
container :
317
364
image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta1-978866c-bullseye-devnet
318
365
options : --volume debugger_data:/tmp/db
@@ -398,7 +445,7 @@ jobs:
398
445
needs :
399
446
- build-tests
400
447
- build-tests-webrtc
401
- runs-on : ubuntu-22 .04
448
+ runs-on : ubuntu-24 .04
402
449
container :
403
450
image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta1-978866c-bullseye-devnet
404
451
env :
@@ -435,7 +482,7 @@ jobs:
435
482
436
483
bootstrap-test :
437
484
needs : [ build, build-tests ]
438
- runs-on : ubuntu-22 .04
485
+ runs-on : ubuntu-24 .04
439
486
env :
440
487
OPENMINA_HOME : data
441
488
BPF_ALIAS : /coda/0.0.1/29936104443aaf264a7f0192ac64b1c7173198c1ed404c1bcff5e562e05eb7f6-0.0.0.0
0 commit comments