@@ -47,6 +47,7 @@ container_depends_template: &CONTAINER_DEPENDS_TEMPLATE
4747 cpu : 2
4848 greedy : true
4949 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
5051 depends_built_cache :
5152 folder : " depends/built"
5253 fingerprint_script : echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:depends)
@@ -83,14 +84,15 @@ task:
8384 name : ' tidy [lunar]'
8485 << : *GLOBAL_TASK_TEMPLATE
8586 container :
86- image : ubuntu:lunar
8787 cpu : 2
8888 memory : 5G
89+ docker_arguments :
90+ CI_IMAGE_NAME_TAG : ubuntu:lunar
91+ FILE_ENV : " ./ci/test/00_setup_env_native_tidy.sh"
8992 # For faster CI feedback, immediately schedule the linters
9093 << : *CREDITS_TEMPLATE
9194 env :
9295 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
93- FILE_ENV : " ./ci/test/00_setup_env_native_tidy.sh"
9496
9597task :
9698 name : " Win64 native [vs2022]"
@@ -195,6 +197,7 @@ task:
195197 image : debian:bullseye
196198 cpu : 2
197199 memory : 8G
200+ # docker_arguments: # Can use dockerfile after https://github.com/cirruslabs/cirrus-ci-docs/issues/1154
198201 env :
199202 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
200203 FILE_ENV : " ./ci/test/00_setup_env_arm.sh"
@@ -204,22 +207,24 @@ task:
204207 name : ' Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
205208 << : *GLOBAL_TASK_TEMPLATE
206209 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"
208213 env :
209214 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
210- FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
211215
212216task :
213217 name : ' 32-bit + dash [gui] [CentOS 8]'
214218 << : *GLOBAL_TASK_TEMPLATE
215219 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"
217223 # For faster CI feedback, immediately schedule one task that runs all tests
218224 << : *CREDITS_TEMPLATE
219225 env :
220226 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
221227 PACKAGE_MANAGER_INSTALL : " yum install -y"
222- FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
223228
224229task :
225230 name : ' [previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]'
@@ -235,21 +240,23 @@ task:
235240 name : ' [TSan, depends, gui] [lunar]'
236241 << : *GLOBAL_TASK_TEMPLATE
237242 container :
238- image : ubuntu:lunar
239243 cpu : 6 # Increase CPU and Memory to avoid timeout
240244 memory : 24G
245+ docker_arguments :
246+ CI_IMAGE_NAME_TAG : ubuntu:lunar
247+ FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
241248 env :
242249 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
243- FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
244250
245251task :
246252 name : ' [MSan, depends] [lunar]'
247253 << : *GLOBAL_TASK_TEMPLATE
248254 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"
250258 env :
251259 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
252- FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
253260 MAKEJOBS : " -j4" # Avoid excessive memory use due to MSan
254261
255262task :
@@ -274,46 +281,50 @@ task:
274281 name : ' [fuzzer,address,undefined,integer, no depends] [lunar]'
275282 << : *GLOBAL_TASK_TEMPLATE
276283 container :
277- image : ubuntu:lunar
278284 cpu : 4 # Increase CPU and memory to avoid timeout
279285 memory : 16G
286+ docker_arguments :
287+ CI_IMAGE_NAME_TAG : ubuntu:lunar
288+ FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
280289 env :
281290 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
282- FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
283291
284292task :
285293 name : ' [multiprocess, i686, DEBUG] [focal]'
286294 << : *GLOBAL_TASK_TEMPLATE
287295 container :
288- image : ubuntu:focal
289296 cpu : 4
290297 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"
291301 env :
292302 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
293- FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
294303
295304task :
296305 name : ' [no wallet, libbitcoinkernel] [buster]'
297306 << : *GLOBAL_TASK_TEMPLATE
298307 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"
300311 env :
301312 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
302- FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
303313
304314task :
305315 name : ' macOS 10.15 [gui, no tests] [focal]'
306316 << : *CONTAINER_DEPENDS_TEMPLATE
307317 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"
309321 macos_sdk_cache :
310322 folder : " depends/SDKs/$MACOS_SDK"
311323 fingerprint_key : " $MACOS_SDK"
312324 << : *MAIN_TEMPLATE
313325 env :
314326 MACOS_SDK : " Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
315327 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
316- FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
317328
318329task :
319330 name : ' macOS 13 native arm64 [gui, sqlite only] [no depends]'
@@ -336,7 +347,9 @@ task:
336347 name : ' ARM64 Android APK [jammy]'
337348 << : *CONTAINER_DEPENDS_TEMPLATE
338349 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"
340353 android_sdk_cache :
341354 folder : " depends/SDKs/android"
342355 fingerprint_key : " ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313"
@@ -346,4 +359,3 @@ task:
346359 << : *MAIN_TEMPLATE
347360 env :
348361 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
349- FILE_ENV : " ./ci/test/00_setup_env_android.sh"
0 commit comments