ci: Use Cirrus CI dockerfile env

pull/27340/head
MarcoFalke 2 years ago
parent b24553c04c
commit facae3b149
No known key found for this signature in database

@ -47,6 +47,7 @@ container_depends_template: &CONTAINER_DEPENDS_TEMPLATE
cpu: 2 cpu: 2
greedy: true greedy: true
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
dockerfile: ci/test_imagefile # https://cirrus-ci.org/guide/docker-builder-vm/#dockerfile-as-a-ci-environment
depends_built_cache: depends_built_cache:
folder: "depends/built" folder: "depends/built"
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:depends) fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:depends)
@ -83,14 +84,15 @@ task:
name: 'tidy [lunar]' name: 'tidy [lunar]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: ubuntu:lunar
cpu: 2 cpu: 2
memory: 5G memory: 5G
docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:lunar
FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"
# For faster CI feedback, immediately schedule the linters # For faster CI feedback, immediately schedule the linters
<< : *CREDITS_TEMPLATE << : *CREDITS_TEMPLATE
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"
task: task:
name: "Win64 native [vs2022]" name: "Win64 native [vs2022]"
@ -195,6 +197,7 @@ task:
image: debian:bullseye image: debian:bullseye
cpu: 2 cpu: 2
memory: 8G memory: 8G
# docker_arguments: # Can use dockerfile after https://github.com/cirruslabs/cirrus-ci-docs/issues/1154
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_arm.sh" FILE_ENV: "./ci/test/00_setup_env_arm.sh"
@ -204,22 +207,24 @@ task:
name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]' name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: ubuntu:jammy docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:jammy
FILE_ENV: "./ci/test/00_setup_env_win64.sh"
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_win64.sh"
task: task:
name: '32-bit + dash [gui] [CentOS 8]' name: '32-bit + dash [gui] [CentOS 8]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: quay.io/centos/centos:stream8 docker_arguments:
CI_IMAGE_NAME_TAG: quay.io/centos/centos:stream8
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"
# For faster CI feedback, immediately schedule one task that runs all tests # For faster CI feedback, immediately schedule one task that runs all tests
<< : *CREDITS_TEMPLATE << : *CREDITS_TEMPLATE
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
PACKAGE_MANAGER_INSTALL: "yum install -y" PACKAGE_MANAGER_INSTALL: "yum install -y"
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"
task: task:
name: '[previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]' name: '[previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [buster]'
@ -235,21 +240,23 @@ task:
name: '[TSan, depends, gui] [lunar]' name: '[TSan, depends, gui] [lunar]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: ubuntu:lunar
cpu: 6 # Increase CPU and Memory to avoid timeout cpu: 6 # Increase CPU and Memory to avoid timeout
memory: 24G memory: 24G
docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:lunar
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
task: task:
name: '[MSan, depends] [lunar]' name: '[MSan, depends] [lunar]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: ubuntu:lunar docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:lunar
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
MAKEJOBS: "-j4" # Avoid excessive memory use due to MSan MAKEJOBS: "-j4" # Avoid excessive memory use due to MSan
task: task:
@ -274,38 +281,43 @@ task:
name: '[fuzzer,address,undefined,integer, no depends] [lunar]' name: '[fuzzer,address,undefined,integer, no depends] [lunar]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: ubuntu:lunar
cpu: 4 # Increase CPU and memory to avoid timeout cpu: 4 # Increase CPU and memory to avoid timeout
memory: 16G memory: 16G
docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:lunar
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
task: task:
name: '[multiprocess, i686, DEBUG] [focal]' name: '[multiprocess, i686, DEBUG] [focal]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: ubuntu:focal
cpu: 4 cpu: 4
memory: 16G # The default memory is sometimes just a bit too small, so double everything memory: 16G # The default memory is sometimes just a bit too small, so double everything
docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:focal
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"
task: task:
name: '[no wallet, libbitcoinkernel] [buster]' name: '[no wallet, libbitcoinkernel] [buster]'
<< : *GLOBAL_TASK_TEMPLATE << : *GLOBAL_TASK_TEMPLATE
container: container:
image: debian:buster docker_arguments:
CI_IMAGE_NAME_TAG: debian:buster
FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
task: task:
name: 'macOS 10.15 [gui, no tests] [focal]' name: 'macOS 10.15 [gui, no tests] [focal]'
<< : *CONTAINER_DEPENDS_TEMPLATE << : *CONTAINER_DEPENDS_TEMPLATE
container: container:
image: ubuntu:focal docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:focal
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
macos_sdk_cache: macos_sdk_cache:
folder: "depends/SDKs/$MACOS_SDK" folder: "depends/SDKs/$MACOS_SDK"
fingerprint_key: "$MACOS_SDK" fingerprint_key: "$MACOS_SDK"
@ -313,7 +325,6 @@ task:
env: env:
MACOS_SDK: "Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers" MACOS_SDK: "Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_mac.sh"
task: task:
name: 'macOS 13 native arm64 [gui, sqlite only] [no depends]' name: 'macOS 13 native arm64 [gui, sqlite only] [no depends]'
@ -336,7 +347,9 @@ task:
name: 'ARM64 Android APK [jammy]' name: 'ARM64 Android APK [jammy]'
<< : *CONTAINER_DEPENDS_TEMPLATE << : *CONTAINER_DEPENDS_TEMPLATE
container: container:
image: ubuntu:jammy docker_arguments:
CI_IMAGE_NAME_TAG: ubuntu:jammy
FILE_ENV: "./ci/test/00_setup_env_android.sh"
android_sdk_cache: android_sdk_cache:
folder: "depends/SDKs/android" folder: "depends/SDKs/android"
fingerprint_key: "ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313" fingerprint_key: "ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313"
@ -346,4 +359,3 @@ task:
<< : *MAIN_TEMPLATE << : *MAIN_TEMPLATE
env: env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_android.sh"

Loading…
Cancel
Save