@@ -8,9 +8,6 @@ env: # Global defaults
8
8
CCACHE_DIR : " /tmp/ccache_dir"
9
9
CCACHE_NOHASHDIR : " 1" # Debug info might contain a stale path if the build dir changes, but this is fine
10
10
11
- cirrus_ephemeral_worker_template_env : &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
12
- DANGER_RUN_CI_ON_HOST : " 1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system
13
-
14
11
# https://cirrus-ci.org/guide/persistent-workers/
15
12
#
16
13
# It is possible to select a specific persistent worker by label. Refer to the
@@ -66,25 +63,11 @@ base_template: &BASE_TEMPLATE
66
63
67
64
main_template : &MAIN_TEMPLATE
68
65
timeout_in : 120m # https://cirrus-ci.org/faq/#instance-timed-out
69
- ccache_cache :
70
- folder : " /tmp/ccache_dir"
71
66
ci_script :
72
67
- ./ci/test_run_all.sh
73
68
74
- container_depends_template : &CONTAINER_DEPENDS_TEMPLATE
75
- << : *BASE_TEMPLATE
76
- container :
77
- # https://cirrus-ci.org/faq/#are-there-any-limits
78
- # Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
79
- cpu : 2
80
- memory : 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
81
- dockerfile : ci/test_imagefile # https://cirrus-ci.org/guide/docker-builder-vm/#dockerfile-as-a-ci-environment
82
- base_depends_built_cache :
83
- folder : " /ci_container_base/depends/built"
84
- fingerprint_script : echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:depends)
85
-
86
69
global_task_template : &GLOBAL_TASK_TEMPLATE
87
- << : *CONTAINER_DEPENDS_TEMPLATE
70
+ << : *BASE_TEMPLATE
88
71
<< : *MAIN_TEMPLATE
89
72
90
73
compute_credits_template : &CREDITS_TEMPLATE
108
91
- git fetch --unshallow --no-tags
109
92
lint_script :
110
93
- ./ci/lint_run_all.sh
111
- env :
112
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
113
94
114
95
task :
115
96
name : ' tidy [lunar]'
@@ -228,31 +209,23 @@ task:
228
209
task :
229
210
name : ' Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
230
211
<< : *GLOBAL_TASK_TEMPLATE
231
- container :
232
- docker_arguments :
233
- CI_IMAGE_NAME_TAG : ubuntu:jammy
234
- FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
235
- << : *CREDITS_TEMPLATE
212
+ persistent_worker :
213
+ labels :
214
+ type : small
236
215
env :
237
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
216
+ FILE_ENV : " ./ci/test/00_setup_env_win64.sh "
238
217
239
218
task :
240
219
name : ' 32-bit + dash [gui] [CentOS 9]'
241
220
<< : *GLOBAL_TASK_TEMPLATE
242
- container :
243
- docker_arguments :
244
- CI_IMAGE_NAME_TAG : " quay.io/centos/amd64:stream9"
245
- FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
246
- # For faster CI feedback, immediately schedule one task that runs all tests
247
- << : *CREDITS_TEMPLATE
221
+ persistent_worker :
222
+ labels :
223
+ type : small
248
224
env :
249
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
250
- PACKAGE_MANAGER_INSTALL : " yum install -y"
225
+ FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
251
226
252
227
task :
253
228
name : ' [previous releases, qt5 dev package and depends packages, DEBUG] [focal]'
254
- previous_releases_cache :
255
- folder : " releases"
256
229
<< : *GLOBAL_TASK_TEMPLATE
257
230
persistent_worker :
258
231
labels :
@@ -263,25 +236,21 @@ task:
263
236
task :
264
237
name : ' [TSan, depends, gui] [lunar]'
265
238
<< : *GLOBAL_TASK_TEMPLATE
266
- container :
267
- cpu : 4
268
- memory : 16G # The default memory is too small, so double everything
269
- docker_arguments :
270
- CI_IMAGE_NAME_TAG : ubuntu:lunar
271
- FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
239
+ persistent_worker :
240
+ labels :
241
+ type : medium
272
242
env :
273
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
243
+ FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh "
274
244
275
245
task :
276
246
name : ' [MSan, depends] [jammy]'
277
247
<< : *GLOBAL_TASK_TEMPLATE
278
- container :
279
- docker_arguments :
280
- CI_IMAGE_NAME_TAG : ubuntu:jammy
281
- FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh "
248
+ persistent_worker :
249
+ labels :
250
+ type : small
251
+ timeout_in : 300m # Use longer timeout for the *rare* case where a full build (llvm + msan + depends + ...) needs to be done.
282
252
env :
283
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
284
- MAKEJOBS : " -j4" # Avoid excessive memory use due to MSan
253
+ FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
285
254
286
255
task :
287
256
name : ' [ASan + LSan + UBSan + integer, no depends, USDT] [lunar]'
@@ -299,44 +268,35 @@ task:
299
268
task :
300
269
name : ' [fuzzer,address,undefined,integer, no depends] [lunar]'
301
270
<< : *GLOBAL_TASK_TEMPLATE
302
- container :
303
- cpu : 4 # Increase CPU and memory to avoid timeout
304
- memory : 16G
305
- docker_arguments :
306
- CI_IMAGE_NAME_TAG : ubuntu:lunar
307
- FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
271
+ persistent_worker :
272
+ labels :
273
+ type : medium
308
274
env :
309
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
275
+ FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh "
310
276
311
277
task :
312
278
name : ' [multiprocess, i686, DEBUG] [focal]'
313
279
<< : *GLOBAL_TASK_TEMPLATE
314
- container :
315
- cpu : 4
316
- memory : 16G # The default memory is too small, so double everything
317
- docker_arguments :
318
- CI_IMAGE_NAME_TAG : " docker.io/amd64/ubuntu:focal"
319
- FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
280
+ persistent_worker :
281
+ labels :
282
+ type : medium
320
283
env :
321
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
284
+ FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh "
322
285
323
286
task :
324
287
name : ' [no wallet, libbitcoinkernel] [focal]'
325
288
<< : *GLOBAL_TASK_TEMPLATE
326
- container :
327
- docker_arguments :
328
- CI_IMAGE_NAME_TAG : ubuntu:focal
329
- FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
330
- << : *CREDITS_TEMPLATE
289
+ persistent_worker :
290
+ labels :
291
+ type : small
331
292
env :
332
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
293
+ FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh "
333
294
334
295
task :
335
296
name : ' macOS 11.0 [gui, no tests] [jammy]'
336
297
<< : *GLOBAL_TASK_TEMPLATE
337
- container :
338
- docker_arguments :
339
- CI_IMAGE_NAME_TAG : ubuntu:jammy
340
- FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
298
+ persistent_worker :
299
+ labels :
300
+ type : small
341
301
env :
342
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
302
+ FILE_ENV : " ./ci/test/00_setup_env_mac.sh "
0 commit comments