Skip to content

Commit a1d3208

Browse files
committedFeb 9, 2021
updated to latest master (5f18080c29c2d2c3178e2e6f9ad0e6c18a741c2a)
1 parent 2c2b5db commit a1d3208

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+6004
-1319
lines changed
 

‎.cirrus.yml

+136
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
### Global defaults
2+
3+
env:
4+
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
5+
MAKEJOBS: "-j4"
6+
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
7+
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
8+
CCACHE_SIZE: "200M"
9+
CCACHE_DIR: "/tmp/ccache_dir"
10+
11+
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
12+
base_template: &BASE_TEMPLATE
13+
merge_base_script:
14+
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
15+
- bash -c "$PACKAGE_MANAGER_INSTALL git"
16+
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
17+
- git config --global user.email "ci@ci.ci"
18+
- git config --global user.name "ci"
19+
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts
20+
stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks
21+
22+
global_task_template: &GLOBAL_TASK_TEMPLATE
23+
<< : *BASE_TEMPLATE
24+
timeout_in: 60m # https://cirrus-ci.org/faq/#instance-timed-out (btcdeb: down from 120m)
25+
container:
26+
# https://cirrus-ci.org/faq/#are-there-any-limits
27+
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
28+
cpu: 2
29+
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
30+
kvm: true # Use kvm to avoid spurious CI failures in the default virtualization cluster, see https://github.com/bitcoin/bitcoin/issues/20093
31+
ccache_cache:
32+
folder: "/tmp/ccache_dir"
33+
depends_built_cache:
34+
folder: "/tmp/cirrus-ci-build/depends/built"
35+
depends_sdk_cache:
36+
folder: "/tmp/cirrus-ci-build/depends/sdk-sources"
37+
depends_releases_cache:
38+
folder: "/tmp/cirrus-ci-build/releases"
39+
ci_script:
40+
- ./ci/test_run_all.sh
41+
42+
compute_credits_template: &CREDITS_TEMPLATE
43+
# https://cirrus-ci.org/pricing/#compute-credits
44+
# Only use credits for pull requests to the main repo
45+
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin-core/btcdeb' && $CIRRUS_PR != ""
46+
47+
# task:
48+
# name: 'ARM [buster]'
49+
# << : *GLOBAL_TASK_TEMPLATE
50+
# container:
51+
# image: debian:buster
52+
# env:
53+
# matrix:
54+
# - ENABLE_DANGEROUS: 1
55+
# - ENABLE_DANGEROUS: ""
56+
# FILE_ENV: "./ci/test/00_setup_env_arm.sh"
57+
# TODO: ARM is giving "/tmp/cirrus-ci-build/ci/scratch/out/arm-linux-gnueabihf/bin/test-btcdeb_orig: Invalid ELF image for this architecture"
58+
59+
# task:
60+
# name: 'Win64 [bionic]'
61+
# << : *GLOBAL_TASK_TEMPLATE
62+
# container:
63+
# image: ubuntu:bionic
64+
# env:
65+
# matrix:
66+
# - ENABLE_DANGEROUS: 1
67+
# - ENABLE_DANGEROUS: ""
68+
# FILE_ENV: "./ci/test/00_setup_env_win64.sh"
69+
# TODO: win64 requires an installer?
70+
71+
task:
72+
name: '32-bit + dash [CentOS 8]'
73+
<< : *GLOBAL_TASK_TEMPLATE
74+
container:
75+
image: centos:8
76+
env:
77+
matrix:
78+
- ENABLE_DANGEROUS: 1
79+
- ENABLE_DANGEROUS: ""
80+
PACKAGE_MANAGER_INSTALL: "yum install -y"
81+
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"
82+
83+
task:
84+
name: '[sanitizers: thread (TSan)] [focal]'
85+
<< : *GLOBAL_TASK_TEMPLATE
86+
container:
87+
image: ubuntu:focal
88+
cpu: 4 # Double CPU and increase Memory to avoid timeout
89+
memory: 24G
90+
env:
91+
matrix:
92+
- ENABLE_DANGEROUS: 1
93+
- ENABLE_DANGEROUS: ""
94+
MAKEJOBS: "-j8"
95+
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
96+
97+
task:
98+
name: '[no sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer] [focal]'
99+
<< : *GLOBAL_TASK_TEMPLATE
100+
container:
101+
image: ubuntu:focal
102+
env:
103+
matrix:
104+
- ENABLE_DANGEROUS: 1
105+
- ENABLE_DANGEROUS: ""
106+
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"
107+
108+
# task:
109+
# name: 'macOS 10.14 [no tests] [bionic]'
110+
# << : *GLOBAL_TASK_TEMPLATE
111+
# container:
112+
# image: ubuntu:bionic
113+
# env:
114+
# matrix:
115+
# - ENABLE_DANGEROUS: 1
116+
# - ENABLE_DANGEROUS: ""
117+
# FILE_ENV: "./ci/test/00_setup_env_mac.sh"
118+
# TODO: requires deploy script
119+
120+
# task:
121+
# name: 'macOS 10.15 native [no dangerous]'
122+
# macos_brew_addon_script:
123+
# - brew install boost ccache libtool automake pkg-config gnu-getopt
124+
# << : *GLOBAL_TASK_TEMPLATE
125+
# osx_instance:
126+
# # Use latest image, but hardcode version to avoid silent upgrades (and breaks)
127+
# image: catalina-xcode-12.1 # https://cirrus-ci.org/guide/macOS
128+
# env:
129+
# matrix:
130+
# - ENABLE_DANGEROUS: 1
131+
# - ENABLE_DANGEROUS: ""
132+
# DANGER_RUN_CI_ON_HOST: "true"
133+
# CI_USE_APT_INSTALL: "no"
134+
# PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do
135+
# FILE_ENV: "./ci/test/00_setup_env_mac_host.sh"
136+
# TODO: requires deploy script

‎.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,5 @@ src/config/stamp-h1
9999
share/setup.nsi
100100
share/qt/Info.plist
101101
test-btcdeb
102+
tap
102103
approach

0 commit comments

Comments
 (0)
Please sign in to comment.