Skip to content

Commit fa1d895

Browse files
author
MarcoFalke
committed
ci: Move tidy to persistent worker
1 parent 4922570 commit fa1d895

File tree

1 file changed

+27
-10
lines changed

1 file changed

+27
-10
lines changed

.cirrus.yml

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
3454
persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE
@@ -99,14 +119,11 @@ task:
99119
task:
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

111128
task:
112129
name: "Win64 native [vs2022]"

0 commit comments

Comments
 (0)