46
46
47
47
jobs :
48
48
docker_cache :
49
- name : " Build Docker image"
50
- runs-on : ubuntu-latest
49
+ name : " Build ${{ matrix.arch }} Docker image"
50
+ runs-on : ${{ matrix.runner }}
51
+
52
+ strategy :
53
+ fail-fast : false
54
+ matrix :
55
+ include :
56
+ - arch : x64
57
+ runner : ubuntu-latest
58
+ - arch : arm64
59
+ runner : ubuntu-24.04-arm
60
+
51
61
steps :
52
62
- name : Set up Docker Buildx
53
63
uses : docker/setup-buildx-action@v3
@@ -60,11 +70,11 @@ jobs:
60
70
uses : docker/build-push-action@v5
61
71
with :
62
72
file : ./ci/linux-debian.Dockerfile
63
- tags : linux -debian-image
73
+ tags : ${{ matrix.arch }} -debian-image
64
74
cache-from : type=gha
65
75
cache-to : type=gha,mode=min
66
76
67
- linux_debian :
77
+ x86_64-debian :
68
78
name : " x86_64: Linux (Debian stable)"
69
79
runs-on : ubuntu-latest
70
80
needs : docker_cache
@@ -106,7 +116,7 @@ jobs:
106
116
uses : ./.github/actions/run-in-docker-action
107
117
with :
108
118
dockerfile : ./ci/linux-debian.Dockerfile
109
- tag : linux -debian-image
119
+ tag : x64 -debian-image
110
120
111
121
- name : Print logs
112
122
uses : ./.github/actions/print-logs
@@ -142,7 +152,7 @@ jobs:
142
152
uses : ./.github/actions/run-in-docker-action
143
153
with :
144
154
dockerfile : ./ci/linux-debian.Dockerfile
145
- tag : linux -debian-image
155
+ tag : x64 -debian-image
146
156
147
157
- name : Print logs
148
158
uses : ./.github/actions/print-logs
@@ -174,7 +184,7 @@ jobs:
174
184
uses : ./.github/actions/run-in-docker-action
175
185
with :
176
186
dockerfile : ./ci/linux-debian.Dockerfile
177
- tag : linux -debian-image
187
+ tag : x64 -debian-image
178
188
179
189
- name : Print logs
180
190
uses : ./.github/actions/print-logs
@@ -215,21 +225,19 @@ jobs:
215
225
uses : ./.github/actions/run-in-docker-action
216
226
with :
217
227
dockerfile : ./ci/linux-debian.Dockerfile
218
- tag : linux -debian-image
228
+ tag : x64 -debian-image
219
229
220
230
- name : Print logs
221
231
uses : ./.github/actions/print-logs
222
232
if : ${{ !cancelled() }}
223
233
224
- arm64_debian :
225
- name : " ARM64 : Linux (Debian stable, QEMU )"
226
- runs-on : ubuntu-latest
234
+ arm64-debian :
235
+ name : " arm64 : Linux (Debian stable)"
236
+ runs-on : ubuntu-24.04-arm
227
237
needs : docker_cache
228
238
229
239
env :
230
- WRAPPER_CMD : ' qemu-aarch64'
231
240
SECP256K1_TEST_ITERS : 16
232
- HOST : ' aarch64-linux-gnu'
233
241
WITH_VALGRIND : ' no'
234
242
ECDH : ' yes'
235
243
RECOVERY : ' yes'
@@ -238,27 +246,26 @@ jobs:
238
246
MUSIG : ' yes'
239
247
ELLSWIFT : ' yes'
240
248
CTIMETESTS : ' no'
249
+ CC : ${{ matrix.cc }}
241
250
242
251
strategy :
243
252
fail-fast : false
244
253
matrix :
245
- configuration :
246
- - env_vars : { } # gcc
247
- - env_vars : # clang
248
- CC : ' clang --target=aarch64-linux-gnu'
249
- - env_vars : # clang-snapshot
250
- CC : ' clang-snapshot --target=aarch64-linux-gnu'
254
+ cc :
255
+ - ' gcc'
256
+ - ' clang'
257
+ - ' gcc-snapshot'
258
+ - ' clang-snapshot'
251
259
252
260
steps :
253
261
- name : Checkout
254
262
uses : actions/checkout@v4
255
263
256
264
- name : CI script
257
- env : ${{ matrix.configuration.env_vars }}
258
265
uses : ./.github/actions/run-in-docker-action
259
266
with :
260
267
dockerfile : ./ci/linux-debian.Dockerfile
261
- tag : linux -debian-image
268
+ tag : arm64 -debian-image
262
269
263
270
- name : Print logs
264
271
uses : ./.github/actions/print-logs
@@ -290,26 +297,46 @@ jobs:
290
297
uses : ./.github/actions/run-in-docker-action
291
298
with :
292
299
dockerfile : ./ci/linux-debian.Dockerfile
293
- tag : linux -debian-image
300
+ tag : x64 -debian-image
294
301
295
302
- name : Print logs
296
303
uses : ./.github/actions/print-logs
297
304
if : ${{ !cancelled() }}
298
305
299
306
300
307
valgrind_debian :
301
- name : " Valgrind (memcheck)"
302
- runs-on : ubuntu-latest
308
+ name : " Valgrind ${{ matrix.binary_arch }} (memcheck)"
309
+ runs-on : ${{ matrix.runner }}
303
310
needs : docker_cache
304
311
305
312
strategy :
306
313
fail-fast : false
307
314
matrix :
308
- configuration :
309
- - env_vars : { CC: 'clang', ASM: 'auto' }
310
- - env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
311
- - env_vars : { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
312
- - env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
315
+ include :
316
+ - docker_arch : x64
317
+ runner : ubuntu-latest
318
+ binary_arch : x64
319
+ env_vars : { CC: 'clang', ASM: 'auto' }
320
+ - docker_arch : x64
321
+ runner : ubuntu-latest
322
+ binary_arch : i686
323
+ env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
324
+ - docker_arch : arm64
325
+ runner : ubuntu-24.04-arm
326
+ binary_arch : arm64
327
+ env_vars : { CC: 'clang', ASM: 'auto' }
328
+ - docker_arch : x64
329
+ runner : ubuntu-latest
330
+ binary_arch : x64
331
+ env_vars : { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
332
+ - docker_arch : x64
333
+ runner : ubuntu-latest
334
+ binary_arch : i686
335
+ env_vars : { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
336
+ - docker_arch : arm64
337
+ runner : ubuntu-24.04-arm
338
+ binary_arch : arm64
339
+ env_vars : { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
313
340
314
341
env :
315
342
# The `--error-exitcode` is required to make the test fail if valgrind found errors,
@@ -329,11 +356,11 @@ jobs:
329
356
uses : actions/checkout@v4
330
357
331
358
- name : CI script
332
- env : ${{ matrix.configuration. env_vars }}
359
+ env : ${{ matrix.env_vars }}
333
360
uses : ./.github/actions/run-in-docker-action
334
361
with :
335
362
dockerfile : ./ci/linux-debian.Dockerfile
336
- tag : linux -debian-image
363
+ tag : ${{ matrix.docker_arch }} -debian-image
337
364
338
365
- name : Print logs
339
366
uses : ./.github/actions/print-logs
@@ -377,7 +404,7 @@ jobs:
377
404
uses : ./.github/actions/run-in-docker-action
378
405
with :
379
406
dockerfile : ./ci/linux-debian.Dockerfile
380
- tag : linux -debian-image
407
+ tag : x64 -debian-image
381
408
382
409
- name : Print logs
383
410
uses : ./.github/actions/print-logs
@@ -428,7 +455,7 @@ jobs:
428
455
uses : ./.github/actions/run-in-docker-action
429
456
with :
430
457
dockerfile : ./ci/linux-debian.Dockerfile
431
- tag : linux -debian-image
458
+ tag : x64 -debian-image
432
459
433
460
- name : Print logs
434
461
uses : ./.github/actions/print-logs
@@ -471,7 +498,7 @@ jobs:
471
498
uses : ./.github/actions/run-in-docker-action
472
499
with :
473
500
dockerfile : ./ci/linux-debian.Dockerfile
474
- tag : linux -debian-image
501
+ tag : x64 -debian-image
475
502
476
503
- name : Print logs
477
504
uses : ./.github/actions/print-logs
@@ -678,7 +705,7 @@ jobs:
678
705
uses : ./.github/actions/run-in-docker-action
679
706
with :
680
707
dockerfile : ./ci/linux-debian.Dockerfile
681
- tag : linux -debian-image
708
+ tag : x64 -debian-image
682
709
683
710
- name : Print logs
684
711
uses : ./.github/actions/print-logs
@@ -697,7 +724,7 @@ jobs:
697
724
uses : ./.github/actions/run-in-docker-action
698
725
with :
699
726
dockerfile : ./ci/linux-debian.Dockerfile
700
- tag : linux -debian-image
727
+ tag : x64 -debian-image
701
728
command : |
702
729
g++ -Werror include/*.h
703
730
clang -Werror -x c++-header include/*.h
0 commit comments