Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test vetu ci #21

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
230 changes: 117 additions & 113 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,6 @@ filter_template: &FILTER_TEMPLATE
base_template: &BASE_TEMPLATE
<< : *FILTER_TEMPLATE
merge_base_script:
# Require git (used in fingerprint_script).
- git --version || ( apt-get update && apt-get install -y git )
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- git fetch --depth=1 $CIRRUS_REPO_CLONE_URL "pull/${CIRRUS_PR}/merge"
- git checkout FETCH_HEAD # Use merged changes to detect silent merge conflicts
Expand All @@ -92,122 +90,128 @@ compute_credits_template: &CREDITS_TEMPLATE
# Only use credits for pull requests to the main repo
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""

task:
name: 'lint'
<< : *BASE_TEMPLATE
container:
image: debian:bookworm
cpu: 1
memory: 1G
# For faster CI feedback, immediately schedule the linters
<< : *CREDITS_TEMPLATE
test_runner_cache:
folder: "/lint_test_runner"
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:test/lint/test_runner)
python_cache:
folder: "/python_build"
fingerprint_script: cat .python-version /etc/os-release
unshallow_script:
- git fetch --unshallow --no-tags
lint_script:
- ./ci/lint_run_all.sh

task:
name: 'tidy'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: medium
env:
FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"

task:
name: 'ARM, unit tests, no functional tests'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: arm64 # Use arm64 worker to sidestep qemu and avoid a slow CI: https://github.com/bitcoin/bitcoin/pull/28087#issuecomment-1649399453
env:
FILE_ENV: "./ci/test/00_setup_env_arm.sh"

task:
name: 'Win64, unit tests, no gui tests, no functional tests'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: small
env:
FILE_ENV: "./ci/test/00_setup_env_win64.sh"

task:
name: '32-bit CentOS, dash, gui'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: small
env:
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"

task:
name: 'previous releases, depends DEBUG'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: small
env:
FILE_ENV: "./ci/test/00_setup_env_native_previous_releases.sh"

task:
name: 'TSan, depends, gui'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: medium
env:
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"

task:
name: 'MSan, depends'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: small
timeout_in: 300m # Use longer timeout for the *rare* case where a full build (llvm + msan + depends + ...) needs to be done.
env:
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"

task:
name: 'fuzzer,address,undefined,integer, no depends'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: medium
env:
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"

task:
name: 'multiprocess, i686, DEBUG'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: medium
env:
FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"
# task:
# name: 'lint'
# << : *BASE_TEMPLATE
# container:
# image: debian:bookworm
# cpu: 1
# memory: 1G
# # For faster CI feedback, immediately schedule the linters
# << : *CREDITS_TEMPLATE
# test_runner_cache:
# folder: "/lint_test_runner"
# fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-parse HEAD:test/lint/test_runner)
# python_cache:
# folder: "/python_build"
# fingerprint_script: cat .python-version /etc/os-release
# unshallow_script:
# - git fetch --unshallow --no-tags
# lint_script:
# - ./ci/lint_run_all.sh
#
# task:
# name: 'tidy'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: medium
# env:
# FILE_ENV: "./ci/test/00_setup_env_native_tidy.sh"
#
# task:
# name: 'ARM, unit tests, no functional tests'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: arm64 # Use arm64 worker to sidestep qemu and avoid a slow CI: https://github.com/bitcoin/bitcoin/pull/28087#issuecomment-1649399453
# env:
# FILE_ENV: "./ci/test/00_setup_env_arm.sh"
#
# task:
# name: 'Win64, unit tests, no gui tests, no functional tests'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: small
# env:
# FILE_ENV: "./ci/test/00_setup_env_win64.sh"
#
# task:
# name: '32-bit CentOS, dash, gui'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: small
# env:
# FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"
#
# task:
# name: 'previous releases, depends DEBUG'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: small
# env:
# FILE_ENV: "./ci/test/00_setup_env_native_previous_releases.sh"
#
# task:
# name: 'TSan, depends, gui'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: medium
# env:
# FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
#
# task:
# name: 'MSan, depends'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: small
# timeout_in: 300m # Use longer timeout for the *rare* case where a full build (llvm + msan + depends + ...) needs to be done.
# env:
# FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"
#
# task:
# name: 'fuzzer,address,undefined,integer, no depends'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: medium
# env:
# FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"
#
# task:
# name: 'multiprocess, i686, DEBUG'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: medium
# env:
# FILE_ENV: "./ci/test/00_setup_env_i686_multiprocess.sh"

task:
name: 'no wallet, libbitcoinkernel'
<< : *GLOBAL_TASK_TEMPLATE
<<: *GLOBAL_TASK_TEMPLATE
persistent_worker:
isolation:
vetu:
image: ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04
user: admin
password: admin
labels:
type: small
arch: "amd64"

env:
FILE_ENV: "./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"

task:
name: 'macOS-cross, gui, no tests'
<< : *GLOBAL_TASK_TEMPLATE
persistent_worker:
labels:
type: small
env:
FILE_ENV: "./ci/test/00_setup_env_mac_cross.sh"
# task:
# name: 'macOS-cross, gui, no tests'
# << : *GLOBAL_TASK_TEMPLATE
# persistent_worker:
# labels:
# type: small
# env:
# FILE_ENV: "./ci/test/00_setup_env_mac_cross.sh"
Loading