diff --git a/.cirrus.yml b/.cirrus.yml index d0d3483b4eeeda..e11e8139d97280 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -14,24 +14,8 @@ cirrus_ephemeral_worker_template_env: &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV persistent_worker_template_env: &PERSISTENT_WORKER_TEMPLATE_ENV RESTART_CI_DOCKER_BEFORE_RUN: "1" -# https://cirrus-ci.org/guide/persistent-workers/ -# -# It is possible to select a specific persistent worker by label. Refer to the -# Cirrus CI docs for more details. -# -# Generally, a persistent worker must run Ubuntu 23.04+ or Debian 12+. -# Specifically, -# - apt-get is required due to PACKAGE_MANAGER_INSTALL -# - podman-docker-4.1+ is required due to the use of `podman` when -# RESTART_CI_DOCKER_BEFORE_RUN is set and 4.1+ due to the bugfix in 4.1 -# (https://github.com/bitcoin/bitcoin/pull/21652) -# - The ./ci/ depedencies should be installed: -# apt update && apt install screen python3 bash podman-docker curl -y -# -# The following specific types should exist, with the following requirements: -# - noble: For a machine running the Linux kernel shipped with exaclty Ubuntu Noble 24.04. The machine is recommended to have 4 CPUs and 16 GB of memory. persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE - persistent_worker: {} # Only use this if the task does not care about the type at all + persistent_worker: {} # https://cirrus-ci.org/guide/persistent-workers/ # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks filter_template: &FILTER_TEMPLATE @@ -185,12 +169,21 @@ task: # so any settings will need to be written to the settings env file: - sed -i "s|\${CIRRUS_CI}|true|g" ./ci/test/00_setup_env_native_asan.sh << : *GLOBAL_TASK_TEMPLATE - persistent_worker: - labels: - type: noble # Must use this specific worker (needed for USDT functional tests) + # We can't use a 'container' for the USDT interface tests as the CirrusCI + # containers don't have privileges to hook into bitcoind. CirrusCI uses + # Google Compute Engine instances: https://cirrus-ci.org/guide/custom-vms/ + # Images can be found here: https://cloud.google.com/compute/docs/images/os-details + compute_engine_instance: + image_project: ubuntu-os-cloud + image: family/ubuntu-2404-amd64 # https://cirrus-ci.org/guide/custom-vms/#custom-compute-engine-vms + cpu: 4 + disk: 100 + memory: 12G env: - << : *PERSISTENT_WORKER_TEMPLATE_ENV + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV + HOME: /root/ # Only needed for compute_engine_instance FILE_ENV: "./ci/test/00_setup_env_native_asan.sh" + MAKEJOBS: "-j4" # Avoid excessive memory use task: name: 'fuzzer,address,undefined,integer, no depends'