@@ -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,24 @@ 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"
208
213
env :
209
214
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
210
- FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
211
215
212
216
task :
213
217
name : ' 32-bit + dash [gui] [CentOS 8]'
214
218
<< : *GLOBAL_TASK_TEMPLATE
215
219
container :
216
- image : quay.io/centos/centos:stream8
220
+ docker_arguments :
221
+ CI_IMAGE_NAME_TAG : quay.io/centos/centos:stream8
222
+ FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
217
223
# For faster CI feedback, immediately schedule one task that runs all tests
218
224
<< : *CREDITS_TEMPLATE
219
225
env :
220
226
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
221
227
PACKAGE_MANAGER_INSTALL : " yum install -y"
222
- FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
223
228
224
229
task :
225
230
name : ' [previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]'
@@ -235,21 +240,23 @@ task:
235
240
name : ' [TSan, depends, gui] [lunar]'
236
241
<< : *GLOBAL_TASK_TEMPLATE
237
242
container :
238
- image : ubuntu:lunar
239
243
cpu : 6 # Increase CPU and Memory to avoid timeout
240
244
memory : 24G
245
+ docker_arguments :
246
+ CI_IMAGE_NAME_TAG : ubuntu:lunar
247
+ FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
241
248
env :
242
249
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
243
- FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
244
250
245
251
task :
246
252
name : ' [MSan, depends] [lunar]'
247
253
<< : *GLOBAL_TASK_TEMPLATE
248
254
container :
249
- image : ubuntu:lunar
255
+ docker_arguments :
256
+ CI_IMAGE_NAME_TAG : ubuntu:lunar
257
+ FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
250
258
env :
251
259
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
252
- FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
253
260
MAKEJOBS : " -j4" # Avoid excessive memory use due to MSan
254
261
255
262
task :
@@ -274,46 +281,50 @@ task:
274
281
name : ' [fuzzer,address,undefined,integer, no depends] [lunar]'
275
282
<< : *GLOBAL_TASK_TEMPLATE
276
283
container :
277
- image : ubuntu:lunar
278
284
cpu : 4 # Increase CPU and memory to avoid timeout
279
285
memory : 16G
286
+ docker_arguments :
287
+ CI_IMAGE_NAME_TAG : ubuntu:lunar
288
+ FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
280
289
env :
281
290
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
282
- FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
283
291
284
292
task :
285
293
name : ' [multiprocess, i686, DEBUG] [focal]'
286
294
<< : *GLOBAL_TASK_TEMPLATE
287
295
container :
288
- image : ubuntu:focal
289
296
cpu : 4
290
297
memory : 16G # The default memory is sometimes just a bit too small, so double everything
298
+ docker_arguments :
299
+ CI_IMAGE_NAME_TAG : ubuntu:focal
300
+ FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
291
301
env :
292
302
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
293
- FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
294
303
295
304
task :
296
305
name : ' [no wallet, libbitcoinkernel] [buster]'
297
306
<< : *GLOBAL_TASK_TEMPLATE
298
307
container :
299
- image : debian:buster
308
+ docker_arguments :
309
+ CI_IMAGE_NAME_TAG : debian:buster
310
+ FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
300
311
env :
301
312
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
302
- FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
303
313
304
314
task :
305
315
name : ' macOS 10.15 [gui, no tests] [focal]'
306
316
<< : *CONTAINER_DEPENDS_TEMPLATE
307
317
container :
308
- image : ubuntu:focal
318
+ docker_arguments :
319
+ CI_IMAGE_NAME_TAG : ubuntu:focal
320
+ FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
309
321
macos_sdk_cache :
310
322
folder : " depends/SDKs/$MACOS_SDK"
311
323
fingerprint_key : " $MACOS_SDK"
312
324
<< : *MAIN_TEMPLATE
313
325
env :
314
326
MACOS_SDK : " Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
315
327
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
316
- FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
317
328
318
329
task :
319
330
name : ' macOS 13 native arm64 [gui, sqlite only] [no depends]'
@@ -336,7 +347,9 @@ task:
336
347
name : ' ARM64 Android APK [jammy]'
337
348
<< : *CONTAINER_DEPENDS_TEMPLATE
338
349
container :
339
- image : ubuntu:jammy
350
+ docker_arguments :
351
+ CI_IMAGE_NAME_TAG : ubuntu:jammy
352
+ FILE_ENV : " ./ci/test/00_setup_env_android.sh"
340
353
android_sdk_cache :
341
354
folder : " depends/SDKs/android"
342
355
fingerprint_key : " ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313"
@@ -346,4 +359,3 @@ task:
346
359
<< : *MAIN_TEMPLATE
347
360
env :
348
361
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
349
- FILE_ENV : " ./ci/test/00_setup_env_android.sh"
0 commit comments