@@ -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,25 @@ 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"
213+ << : *CREDITS_TEMPLATE
208214 env :
209215 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
210- FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
211216
212217task :
213218 name : ' 32-bit + dash [gui] [CentOS 8]'
214219 << : *GLOBAL_TASK_TEMPLATE
215220 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"
217224 # For faster CI feedback, immediately schedule one task that runs all tests
218225 << : *CREDITS_TEMPLATE
219226 env :
220227 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
221228 PACKAGE_MANAGER_INSTALL : " yum install -y"
222- FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
223229
224230task :
225231 name : ' [previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]'
@@ -235,21 +241,23 @@ task:
235241 name : ' [TSan, depends, gui] [lunar]'
236242 << : *GLOBAL_TASK_TEMPLATE
237243 container :
238- image : ubuntu:lunar
239244 cpu : 6 # Increase CPU and Memory to avoid timeout
240245 memory : 24G
246+ docker_arguments :
247+ CI_IMAGE_NAME_TAG : ubuntu:lunar
248+ FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
241249 env :
242250 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
243- FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
244251
245252task :
246253 name : ' [MSan, depends] [lunar]'
247254 << : *GLOBAL_TASK_TEMPLATE
248255 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"
250259 env :
251260 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
252- FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
253261 MAKEJOBS : " -j4" # Avoid excessive memory use due to MSan
254262
255263task :
@@ -274,46 +282,52 @@ task:
274282 name : ' [fuzzer,address,undefined,integer, no depends] [lunar]'
275283 << : *GLOBAL_TASK_TEMPLATE
276284 container :
277- image : ubuntu:lunar
278285 cpu : 4 # Increase CPU and memory to avoid timeout
279286 memory : 16G
287+ docker_arguments :
288+ CI_IMAGE_NAME_TAG : ubuntu:lunar
289+ FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
280290 env :
281291 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
282- FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
283292
284293task :
285294 name : ' [multiprocess, i686, DEBUG] [focal]'
286295 << : *GLOBAL_TASK_TEMPLATE
287296 container :
288- image : ubuntu:focal
289297 cpu : 4
290298 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"
291302 env :
292303 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
293- FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
294304
295305task :
296- name : ' [no wallet, libbitcoinkernel] [buster ]'
306+ name : ' [no wallet, libbitcoinkernel] [focal ]'
297307 << : *GLOBAL_TASK_TEMPLATE
298308 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
300313 env :
301314 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
302- FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
303315
304316task :
305317 name : ' macOS 10.15 [gui, no tests] [focal]'
306318 << : *CONTAINER_DEPENDS_TEMPLATE
307319 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
309324 macos_sdk_cache :
310325 folder : " depends/SDKs/$MACOS_SDK"
311326 fingerprint_key : " $MACOS_SDK"
312327 << : *MAIN_TEMPLATE
313328 env :
314329 MACOS_SDK : " Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
315330 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
316- FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
317331
318332task :
319333 name : ' macOS 13 native arm64 [gui, sqlite only] [no depends]'
@@ -336,7 +350,10 @@ task:
336350 name : ' ARM64 Android APK [jammy]'
337351 << : *CONTAINER_DEPENDS_TEMPLATE
338352 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
340357 android_sdk_cache :
341358 folder : " depends/SDKs/android"
342359 fingerprint_key : " ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313"
@@ -346,4 +363,3 @@ task:
346363 << : *MAIN_TEMPLATE
347364 env :
348365 << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
349- FILE_ENV : " ./ci/test/00_setup_env_android.sh"
0 commit comments