@@ -47,6 +47,7 @@ container_depends_template: &CONTAINER_DEPENDS_TEMPLATE
47
47
cpu : 2
48
48
greedy : true
49
49
memory : 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
50
+ dockerfile : ci/test_imagefile # https://cirrus-ci.org/guide/docker-builder-vm/#dockerfile-as-a-ci-environment
50
51
depends_built_cache :
51
52
folder : " depends/built"
52
53
fingerprint_script : echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:depends)
@@ -83,14 +84,15 @@ task:
83
84
name : ' tidy [lunar]'
84
85
<< : *GLOBAL_TASK_TEMPLATE
85
86
container :
86
- image : ubuntu:lunar
87
87
cpu : 2
88
88
memory : 5G
89
+ docker_arguments :
90
+ CI_IMAGE_NAME_TAG : ubuntu:lunar
91
+ FILE_ENV : " ./ci/test/00_setup_env_native_tidy.sh"
89
92
# For faster CI feedback, immediately schedule the linters
90
93
<< : *CREDITS_TEMPLATE
91
94
env :
92
95
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
93
- FILE_ENV : " ./ci/test/00_setup_env_native_tidy.sh"
94
96
95
97
task :
96
98
name : " Win64 native [vs2022]"
@@ -195,6 +197,7 @@ task:
195
197
image : debian:bullseye
196
198
cpu : 2
197
199
memory : 8G
200
+ # docker_arguments: # Can use dockerfile after https://github.com/cirruslabs/cirrus-ci-docs/issues/1154
198
201
env :
199
202
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
200
203
FILE_ENV : " ./ci/test/00_setup_env_arm.sh"
@@ -204,22 +207,25 @@ task:
204
207
name : ' Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
205
208
<< : *GLOBAL_TASK_TEMPLATE
206
209
container :
207
- image : ubuntu:jammy
210
+ docker_arguments :
211
+ CI_IMAGE_NAME_TAG : ubuntu:jammy
212
+ FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
213
+ << : *CREDITS_TEMPLATE
208
214
env :
209
215
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
210
- FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
211
216
212
217
task :
213
218
name : ' 32-bit + dash [gui] [CentOS 8]'
214
219
<< : *GLOBAL_TASK_TEMPLATE
215
220
container :
216
- image : quay.io/centos/centos:stream8
221
+ docker_arguments :
222
+ CI_IMAGE_NAME_TAG : quay.io/centos/centos:stream8
223
+ FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
217
224
# For faster CI feedback, immediately schedule one task that runs all tests
218
225
<< : *CREDITS_TEMPLATE
219
226
env :
220
227
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
221
228
PACKAGE_MANAGER_INSTALL : " yum install -y"
222
- FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
223
229
224
230
task :
225
231
name : ' [previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]'
@@ -235,21 +241,23 @@ task:
235
241
name : ' [TSan, depends, gui] [lunar]'
236
242
<< : *GLOBAL_TASK_TEMPLATE
237
243
container :
238
- image : ubuntu:lunar
239
244
cpu : 6 # Increase CPU and Memory to avoid timeout
240
245
memory : 24G
246
+ docker_arguments :
247
+ CI_IMAGE_NAME_TAG : ubuntu:lunar
248
+ FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
241
249
env :
242
250
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
243
- FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
244
251
245
252
task :
246
253
name : ' [MSan, depends] [lunar]'
247
254
<< : *GLOBAL_TASK_TEMPLATE
248
255
container :
249
- image : ubuntu:lunar
256
+ docker_arguments :
257
+ CI_IMAGE_NAME_TAG : ubuntu:lunar
258
+ FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
250
259
env :
251
260
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
252
- FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
253
261
MAKEJOBS : " -j4" # Avoid excessive memory use due to MSan
254
262
255
263
task :
@@ -274,46 +282,52 @@ task:
274
282
name : ' [fuzzer,address,undefined,integer, no depends] [lunar]'
275
283
<< : *GLOBAL_TASK_TEMPLATE
276
284
container :
277
- image : ubuntu:lunar
278
285
cpu : 4 # Increase CPU and memory to avoid timeout
279
286
memory : 16G
287
+ docker_arguments :
288
+ CI_IMAGE_NAME_TAG : ubuntu:lunar
289
+ FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
280
290
env :
281
291
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
282
- FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
283
292
284
293
task :
285
294
name : ' [multiprocess, i686, DEBUG] [focal]'
286
295
<< : *GLOBAL_TASK_TEMPLATE
287
296
container :
288
- image : ubuntu:focal
289
297
cpu : 4
290
298
memory : 16G # The default memory is sometimes just a bit too small, so double everything
299
+ docker_arguments :
300
+ CI_IMAGE_NAME_TAG : ubuntu:focal
301
+ FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
291
302
env :
292
303
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
293
- FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
294
304
295
305
task :
296
- name : ' [no wallet, libbitcoinkernel] [buster ]'
306
+ name : ' [no wallet, libbitcoinkernel] [focal ]'
297
307
<< : *GLOBAL_TASK_TEMPLATE
298
308
container :
299
- image : debian:buster
309
+ docker_arguments :
310
+ CI_IMAGE_NAME_TAG : ubuntu:focal
311
+ FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
312
+ << : *CREDITS_TEMPLATE
300
313
env :
301
314
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
302
- FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
303
315
304
316
task :
305
317
name : ' macOS 10.15 [gui, no tests] [focal]'
306
318
<< : *CONTAINER_DEPENDS_TEMPLATE
307
319
container :
308
- image : ubuntu:focal
320
+ docker_arguments :
321
+ CI_IMAGE_NAME_TAG : ubuntu:focal
322
+ FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
323
+ << : *CREDITS_TEMPLATE
309
324
macos_sdk_cache :
310
325
folder : " depends/SDKs/$MACOS_SDK"
311
326
fingerprint_key : " $MACOS_SDK"
312
327
<< : *MAIN_TEMPLATE
313
328
env :
314
329
MACOS_SDK : " Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
315
330
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
316
- FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
317
331
318
332
task :
319
333
name : ' macOS 13 native arm64 [gui, sqlite only] [no depends]'
@@ -336,7 +350,10 @@ task:
336
350
name : ' ARM64 Android APK [jammy]'
337
351
<< : *CONTAINER_DEPENDS_TEMPLATE
338
352
container :
339
- image : ubuntu:jammy
353
+ docker_arguments :
354
+ CI_IMAGE_NAME_TAG : ubuntu:jammy
355
+ FILE_ENV : " ./ci/test/00_setup_env_android.sh"
356
+ << : *CREDITS_TEMPLATE
340
357
android_sdk_cache :
341
358
folder : " depends/SDKs/android"
342
359
fingerprint_key : " ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313"
@@ -346,4 +363,3 @@ task:
346
363
<< : *MAIN_TEMPLATE
347
364
env :
348
365
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
349
- FILE_ENV : " ./ci/test/00_setup_env_android.sh"
0 commit comments