From fad4f48e0763d111369656dea9575a789d2016e8 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Thu, 25 Mar 2021 11:48:29 +0100 Subject: ci: [refactor] Create setting for ephemeral config in .cirrus.yml This allows easier switching between self-hosted runners and the community cluster. Also, named variables can be documented better. --- .cirrus.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to '.cirrus.yml') diff --git a/.cirrus.yml b/.cirrus.yml index 99957f08c5..d9e68e263a 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -3,11 +3,13 @@ env: PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y" MAKEJOBS: "-j4" - DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache CCACHE_SIZE: "200M" CCACHE_DIR: "/tmp/ccache_dir" +cirrus_ephemeral_worker_template_env: &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV + DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system + # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks base_template: &BASE_TEMPLATE skip: $CIRRUS_REPO_FULL_NAME == "bitcoin-core/gui" && $CIRRUS_PR == "" # No need to run on the read-only mirror, unless it is a PR. https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution @@ -69,6 +71,8 @@ task: << : *CREDITS_TEMPLATE lint_script: - ./ci/lint_run_all.sh + env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV task: name: 'ARM [unit tests, no functional tests] [buster]' @@ -76,6 +80,7 @@ task: container: image: debian:buster env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_arm.sh" task: @@ -84,6 +89,7 @@ task: container: image: ubuntu:focal env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_win64.sh" task: @@ -92,6 +98,7 @@ task: container: image: centos:8 env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV PACKAGE_MANAGER_INSTALL: "yum install -y" FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh" @@ -105,6 +112,7 @@ task: container: image: ubuntu:bionic env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh" task: @@ -115,6 +123,7 @@ task: cpu: 6 # Increase CPU and Memory to avoid timeout memory: 24G env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV MAKEJOBS: "-j8" FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh" @@ -124,6 +133,7 @@ task: container: image: ubuntu:focal env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_native_msan.sh" task: @@ -132,6 +142,7 @@ task: container: image: ubuntu:focal env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_native_asan.sh" task: @@ -140,6 +151,7 @@ task: container: image: ubuntu:focal env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh" task: @@ -148,6 +160,7 @@ task: container: image: ubuntu:focal env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_native_multiprocess.sh" task: @@ -156,6 +169,7 @@ task: container: image: ubuntu:bionic env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_native_nowallet.sh" task: @@ -164,6 +178,7 @@ task: container: image: ubuntu:focal env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_mac.sh" task: @@ -175,7 +190,7 @@ task: # Use latest image, but hardcode version to avoid silent upgrades (and breaks) image: big-sur-xcode-12.4 # https://cirrus-ci.org/guide/macOS env: - DANGER_RUN_CI_ON_HOST: "true" + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV CI_USE_APT_INSTALL: "no" PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do FILE_ENV: "./ci/test/00_setup_env_mac_host.sh" @@ -188,4 +203,5 @@ task: container: image: ubuntu:focal env: + << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV FILE_ENV: "./ci/test/00_setup_env_android.sh" -- cgit v1.2.3