47
47
48
48
jobs :
49
49
docker_cache :
50
- name : " Build Docker image"
51
- runs-on : ubuntu-latest
50
+ name : " Build ${{ matrix.arch }} Docker image"
51
+ runs-on : ${{ matrix.runner }}
52
+
53
+ strategy :
54
+ fail-fast : false
55
+ matrix :
56
+ include :
57
+ - arch : x64
58
+ runner : ubuntu-latest
59
+ - arch : arm64
60
+ runner : ubuntu-24.04-arm
61
+
52
62
steps :
53
63
- name : Set up Docker Buildx
54
64
uses : docker/setup-buildx-action@v3
@@ -61,11 +71,11 @@ jobs:
61
71
uses : docker/build-push-action@v5
62
72
with :
63
73
file : ./ci/linux-debian.Dockerfile
64
- tags : linux -debian-image
74
+ tags : ${{ matrix.arch }} -debian-image
65
75
cache-from : type=gha
66
76
cache-to : type=gha,mode=min
67
77
68
- linux_debian :
78
+ x86_64-debian :
69
79
name : " x86_64: Linux (Debian stable)"
70
80
runs-on : ubuntu-latest
71
81
needs : docker_cache
@@ -107,7 +117,7 @@ jobs:
107
117
uses : ./.github/actions/run-in-docker-action
108
118
with :
109
119
dockerfile : ./ci/linux-debian.Dockerfile
110
- tag : linux -debian-image
120
+ tag : x64 -debian-image
111
121
112
122
- name : Print logs
113
123
uses : ./.github/actions/print-logs
@@ -144,7 +154,7 @@ jobs:
144
154
uses : ./.github/actions/run-in-docker-action
145
155
with :
146
156
dockerfile : ./ci/linux-debian.Dockerfile
147
- tag : linux -debian-image
157
+ tag : x64 -debian-image
148
158
149
159
- name : Print logs
150
160
uses : ./.github/actions/print-logs
@@ -177,7 +187,7 @@ jobs:
177
187
uses : ./.github/actions/run-in-docker-action
178
188
with :
179
189
dockerfile : ./ci/linux-debian.Dockerfile
180
- tag : linux -debian-image
190
+ tag : x64 -debian-image
181
191
182
192
- name : Print logs
183
193
uses : ./.github/actions/print-logs
@@ -219,21 +229,19 @@ jobs:
219
229
uses : ./.github/actions/run-in-docker-action
220
230
with :
221
231
dockerfile : ./ci/linux-debian.Dockerfile
222
- tag : linux -debian-image
232
+ tag : x64 -debian-image
223
233
224
234
- name : Print logs
225
235
uses : ./.github/actions/print-logs
226
236
if : ${{ !cancelled() }}
227
237
228
- arm64_debian :
229
- name : " ARM64 : Linux (Debian stable, QEMU )"
230
- runs-on : ubuntu-latest
238
+ arm64-debian :
239
+ name : " arm64 : Linux (Debian stable)"
240
+ runs-on : ubuntu-24.04-arm
231
241
needs : docker_cache
232
242
233
243
env :
234
- WRAPPER_CMD : ' qemu-aarch64'
235
244
SECP256K1_TEST_ITERS : 16
236
- HOST : ' aarch64-linux-gnu'
237
245
WITH_VALGRIND : ' no'
238
246
ECDH : ' yes'
239
247
RECOVERY : ' yes'
@@ -243,27 +251,26 @@ jobs:
243
251
ELLSWIFT : ' yes'
244
252
SILENTPAYMENTS : ' yes'
245
253
CTIMETESTS : ' no'
254
+ CC : ${{ matrix.cc }}
246
255
247
256
strategy :
248
257
fail-fast : false
249
258
matrix :
250
- configuration :
251
- - env_vars : { } # gcc
252
- - env_vars : # clang
253
- CC : ' clang --target=aarch64-linux-gnu'
254
- - env_vars : # clang-snapshot
255
- CC : ' clang-snapshot --target=aarch64-linux-gnu'
259
+ cc :
260
+ - ' gcc'
261
+ - ' clang'
262
+ - ' gcc-snapshot'
263
+ - ' clang-snapshot'
256
264
257
265
steps :
258
266
- name : Checkout
259
267
uses : actions/checkout@v4
260
268
261
269
- name : CI script
262
- env : ${{ matrix.configuration.env_vars }}
263
270
uses : ./.github/actions/run-in-docker-action
264
271
with :
265
272
dockerfile : ./ci/linux-debian.Dockerfile
266
- tag : linux -debian-image
273
+ tag : arm64 -debian-image
267
274
268
275
- name : Print logs
269
276
uses : ./.github/actions/print-logs
@@ -296,26 +303,46 @@ jobs:
296
303
uses : ./.github/actions/run-in-docker-action
297
304
with :
298
305
dockerfile : ./ci/linux-debian.Dockerfile
299
- tag : linux -debian-image
306
+ tag : x64 -debian-image
300
307
301
308
- name : Print logs
302
309
uses : ./.github/actions/print-logs
303
310
if : ${{ !cancelled() }}
304
311
305
312
306
313
valgrind_debian :
307
- name : " Valgrind (memcheck)"
308
- runs-on : ubuntu-latest
314
+ name : " Valgrind ${{ matrix.binary_arch }} (memcheck)"
315
+ runs-on : ${{ matrix.runner }}
309
316
needs : docker_cache
310
317
311
318
strategy :
312
319
fail-fast : false
313
320
matrix :
314
- configuration :
315
- - env_vars : { CC: 'clang', ASM: 'auto' }
316
- - env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
317
- - env_vars : { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
318
- - env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
321
+ include :
322
+ - docker_arch : x64
323
+ runner : ubuntu-latest
324
+ binary_arch : x64
325
+ env_vars : { CC: 'clang', ASM: 'auto' }
326
+ - docker_arch : x64
327
+ runner : ubuntu-latest
328
+ binary_arch : i686
329
+ env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
330
+ - docker_arch : arm64
331
+ runner : ubuntu-24.04-arm
332
+ binary_arch : arm64
333
+ env_vars : { CC: 'clang', ASM: 'auto' }
334
+ - docker_arch : x64
335
+ runner : ubuntu-latest
336
+ binary_arch : x64
337
+ env_vars : { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
338
+ - docker_arch : x64
339
+ runner : ubuntu-latest
340
+ binary_arch : i686
341
+ env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
342
+ - docker_arch : arm64
343
+ runner : ubuntu-24.04-arm
344
+ binary_arch : arm64
345
+ env_vars : { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
319
346
320
347
env :
321
348
# The `--error-exitcode` is required to make the test fail if valgrind found errors,
@@ -336,11 +363,11 @@ jobs:
336
363
uses : actions/checkout@v4
337
364
338
365
- name : CI script
339
- env : ${{ matrix.configuration. env_vars }}
366
+ env : ${{ matrix.env_vars }}
340
367
uses : ./.github/actions/run-in-docker-action
341
368
with :
342
369
dockerfile : ./ci/linux-debian.Dockerfile
343
- tag : linux -debian-image
370
+ tag : ${{ matrix.docker_arch }} -debian-image
344
371
345
372
- name : Print logs
346
373
uses : ./.github/actions/print-logs
@@ -385,7 +412,7 @@ jobs:
385
412
uses : ./.github/actions/run-in-docker-action
386
413
with :
387
414
dockerfile : ./ci/linux-debian.Dockerfile
388
- tag : linux -debian-image
415
+ tag : x64 -debian-image
389
416
390
417
- name : Print logs
391
418
uses : ./.github/actions/print-logs
@@ -437,7 +464,7 @@ jobs:
437
464
uses : ./.github/actions/run-in-docker-action
438
465
with :
439
466
dockerfile : ./ci/linux-debian.Dockerfile
440
- tag : linux -debian-image
467
+ tag : x64 -debian-image
441
468
442
469
- name : Print logs
443
470
uses : ./.github/actions/print-logs
@@ -481,7 +508,7 @@ jobs:
481
508
uses : ./.github/actions/run-in-docker-action
482
509
with :
483
510
dockerfile : ./ci/linux-debian.Dockerfile
484
- tag : linux -debian-image
511
+ tag : x64 -debian-image
485
512
486
513
- name : Print logs
487
514
uses : ./.github/actions/print-logs
@@ -689,7 +716,7 @@ jobs:
689
716
uses : ./.github/actions/run-in-docker-action
690
717
with :
691
718
dockerfile : ./ci/linux-debian.Dockerfile
692
- tag : linux -debian-image
719
+ tag : x64 -debian-image
693
720
694
721
- name : Print logs
695
722
uses : ./.github/actions/print-logs
@@ -708,7 +735,7 @@ jobs:
708
735
uses : ./.github/actions/run-in-docker-action
709
736
with :
710
737
dockerfile : ./ci/linux-debian.Dockerfile
711
- tag : linux -debian-image
738
+ tag : x64 -debian-image
712
739
command : |
713
740
g++ -Werror include/*.h
714
741
clang -Werror -x c++-header include/*.h
0 commit comments