Skip to content

Commit fabaa85

Browse files
author
MarcoFalke
committed
ci: Move ASan USDT to persistent_worker
1 parent e5a9f2f commit fabaa85

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

.cirrus.yml

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,24 @@ cirrus_ephemeral_worker_template_env: &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
1414
persistent_worker_template_env: &PERSISTENT_WORKER_TEMPLATE_ENV
1515
RESTART_CI_DOCKER_BEFORE_RUN: "1"
1616

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.
1733
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
1935

2036
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
2137
filter_template: &FILTER_TEMPLATE
@@ -258,21 +274,12 @@ task:
258274
task:
259275
name: '[ASan + LSan + UBSan + integer, no depends, USDT] [lunar]'
260276
<< : *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)
271280
env:
272-
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
273-
HOME: /root/ # Only needed for compute_engine_instance
281+
<< : *PERSISTENT_WORKER_TEMPLATE_ENV
274282
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"
275-
MAKEJOBS: "-j4" # Avoid excessive memory use
276283

277284
task:
278285
name: '[fuzzer,address,undefined,integer, no depends] [lunar]'

0 commit comments

Comments
 (0)