@@ -14,8 +14,24 @@ cirrus_ephemeral_worker_template_env: &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
14
14
persistent_worker_template_env : &PERSISTENT_WORKER_TEMPLATE_ENV
15
15
RESTART_CI_DOCKER_BEFORE_RUN : " 1"
16
16
17
+ # https://cirrus-ci.org/guide/persistent-workers/
18
+ #
19
+ # It is possible to select a specific persistent worker by label. Refer to the
20
+ # Cirrus CI docs for more details.
21
+ #
22
+ # Generally, a persistent worker must run Ubuntu 23.04+ or Debian 12+.
23
+ # Specifically,
24
+ # - apt-get is required due to PACKAGE_MANAGER_INSTALL
25
+ # - podman-docker-4.1+ is required due to the use of `podman` when
26
+ # RESTART_CI_DOCKER_BEFORE_RUN is set and 4.1+ due to the bugfix in 4.1
27
+ # (https://github.com/bitcoin/bitcoin/pull/21652)
28
+ # - The ./ci/ depedencies should be installed:
29
+ # apt update && apt install screen python3 bash podman-docker curl -y
30
+ #
31
+ # The following specific types should exist, with the following requirements:
32
+ # - lunar: For a machine running the Linux kernel shipped with Ubuntu Lunar 23.04. The machine is recommended to have 4 CPUs and 16 GB of memory.
17
33
persistent_worker_template : &PERSISTENT_WORKER_TEMPLATE
18
- persistent_worker : {} # https://cirrus-ci.org/guide/persistent-workers/
34
+ persistent_worker : {} # Only use this if the task does not care about the type at all
19
35
20
36
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
21
37
filter_template : &FILTER_TEMPLATE
@@ -258,21 +274,12 @@ task:
258
274
task :
259
275
name : ' [ASan + LSan + UBSan + integer, no depends, USDT] [lunar]'
260
276
<< : *GLOBAL_TASK_TEMPLATE
261
- # We can't use a 'container' for the USDT interface tests as the CirrusCI
262
- # containers don't have privileges to hook into bitcoind. CirrusCI uses
263
- # Google Compute Engine instances: https://cirrus-ci.org/guide/custom-vms/
264
- # Images can be found here: https://cloud.google.com/compute/docs/images/os-details
265
- compute_engine_instance :
266
- image_project : ubuntu-os-cloud
267
- image : family/ubuntu-2304-amd64 # https://cirrus-ci.org/guide/custom-vms/#custom-compute-engine-vms
268
- cpu : 4
269
- disk : 100
270
- memory : 12G
277
+ persistent_worker :
278
+ labels :
279
+ type : lunar # Must use the lunar-specific worker (needed for USDT functional tests)
271
280
env :
272
- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
273
- HOME : /root/ # Only needed for compute_engine_instance
281
+ << : *PERSISTENT_WORKER_TEMPLATE_ENV
274
282
FILE_ENV : " ./ci/test/00_setup_env_native_asan.sh"
275
- MAKEJOBS : " -j4" # Avoid excessive memory use
276
283
277
284
task :
278
285
name : ' [fuzzer,address,undefined,integer, no depends] [lunar]'
0 commit comments