|
|
|
@ -14,8 +14,24 @@ 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:
|
|
|
|
|
# - 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.
|
|
|
|
|
persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE
|
|
|
|
|
persistent_worker: {} # https://cirrus-ci.org/guide/persistent-workers/
|
|
|
|
|
persistent_worker: {} # Only use this if the task does not care about the type at all
|
|
|
|
|
|
|
|
|
|
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
|
|
|
|
|
filter_template: &FILTER_TEMPLATE
|
|
|
|
@ -258,21 +274,12 @@ task:
|
|
|
|
|
task:
|
|
|
|
|
name: '[ASan + LSan + UBSan + integer, no depends, USDT] [lunar]'
|
|
|
|
|
<< : *GLOBAL_TASK_TEMPLATE
|
|
|
|
|
# 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-2304-amd64 # https://cirrus-ci.org/guide/custom-vms/#custom-compute-engine-vms
|
|
|
|
|
cpu: 4
|
|
|
|
|
disk: 100
|
|
|
|
|
memory: 12G
|
|
|
|
|
persistent_worker:
|
|
|
|
|
labels:
|
|
|
|
|
type: lunar # Must use the lunar-specific worker (needed for USDT functional tests)
|
|
|
|
|
env:
|
|
|
|
|
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
|
|
|
|
|
HOME: /root/ # Only needed for compute_engine_instance
|
|
|
|
|
<< : *PERSISTENT_WORKER_TEMPLATE_ENV
|
|
|
|
|
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"
|
|
|
|
|
MAKEJOBS: "-j4" # Avoid excessive memory use
|
|
|
|
|
|
|
|
|
|
task:
|
|
|
|
|
name: '[fuzzer,address,undefined,integer, no depends] [lunar]'
|
|
|
|
|