@@ -24,11 +24,31 @@ persistent_worker_template_env: &PERSISTENT_WORKER_TEMPLATE_ENV
2424# - apt-get is required due to PACKAGE_MANAGER_INSTALL
2525# - podman-docker-4.1+ is required due to the use of `podman` when
2626# 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
27+ # (https://github.com/bitcoin/bitcoin/pull/21652#issuecomment-1657098200)
28+ # - The ./ci/ depedencies (with cirrus-cli) should be installed:
29+ #
30+ # ```
31+ # apt update && apt install screen python3 bash podman-docker curl -y && curl -L -o cirrus "https://github.com/cirruslabs/cirrus-cli/releases/latest/download/cirrus-linux-$(dpkg --print-architecture)" && mv cirrus /usr/local/bin/cirrus && chmod +x /usr/local/bin/cirrus
32+ # ```
33+ #
34+ # - There are no strict requirements on the hardware, because having less CPUs
35+ # runs the same CI script (maybe slower). To avoid rare and intermittent OOM
36+ # due to short memory usage spikes, it is recommended to add (and persist)
37+ # swap:
38+ #
39+ # ```
40+ # fallocate -l 16G /swapfile_ci && chmod 600 /swapfile_ci && mkswap /swapfile_ci && swapon /swapfile_ci && ( echo '/swapfile_ci none swap sw 0 0' | sudo tee -a /etc/fstab )
41+ # ```
42+ #
43+ # - To register the persistent worker, open a `screen` session and run:
44+ #
45+ # ```
46+ # RESTART_CI_DOCKER_BEFORE_RUN=1 screen cirrus worker run --labels type=todo_fill_in_type --token todo_fill_in_token
47+ # ```
3048#
3149# The following specific types should exist, with the following requirements:
50+ # - small: For an x86_64 machine, recommended to have 2 CPUs and 8 GB of memory.
51+ # - medium: For an x86_64 machine, recommended to have 4 CPUs and 16 GB of memory.
3252# - 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.
3353# - arm64: For an aarch64 machine, recommended to have 2 CPUs and 8 GB of memory.
3454persistent_worker_template : &PERSISTENT_WORKER_TEMPLATE
@@ -99,14 +119,11 @@ task:
99119task :
100120 name : ' tidy [lunar]'
101121 << : *GLOBAL_TASK_TEMPLATE
102- container :
103- cpu : 4
104- memory : 5G
105- docker_arguments :
106- CI_IMAGE_NAME_TAG : ubuntu:lunar
107- FILE_ENV : " ./ci/test/00_setup_env_native_tidy.sh"
122+ persistent_worker :
123+ labels :
124+ type : medium
108125 env :
109- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
126+ FILE_ENV : " ./ci/test/00_setup_env_native_tidy.sh "
110127
111128task :
112129 name : " Win64 native [vs2022]"
0 commit comments