@@ -8,7 +8,7 @@ container:
8
8
memory : 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
9
9
kvm : true # Use kvm to avoid spurious CI failures in the default virtualization cluster, see https://github.com/bitcoin/bitcoin/issues/20093
10
10
env :
11
- PACKAGE_MANAGER_INSTALL : " apt-get update && apt-get install -y"
11
+ PACKAGE_MANAGER_INSTALL : " apt-get update && apt-get install -y"
12
12
MAKEJOBS : " -j4"
13
13
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
14
14
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
19
19
20
20
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
21
21
global_task_template : &GLOBAL_TASK_TEMPLATE
22
+ 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
22
23
ccache_cache :
23
24
folder : " /tmp/ccache_dir"
24
25
depends_built_cache :
@@ -28,6 +29,7 @@ global_task_template: &GLOBAL_TASK_TEMPLATE
28
29
depends_releases_cache :
29
30
folder : " /tmp/cirrus-ci-build/releases"
30
31
merge_base_script :
32
+ - if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
31
33
- bash -c "$PACKAGE_MANAGER_INSTALL git"
32
34
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
33
35
-
git config --global user.email "[email protected] "
@@ -37,6 +39,30 @@ global_task_template: &GLOBAL_TASK_TEMPLATE
37
39
- ./ci/test_run_all.sh
38
40
39
41
42
+ task :
43
+ name : ' ARM [GOAL: install] [buster] [unit tests, no functional tests]'
44
+ << : *GLOBAL_TASK_TEMPLATE
45
+ container :
46
+ image : debian:buster
47
+ env :
48
+ FILE_ENV : " ./ci/test/00_setup_env_arm.sh"
49
+
50
+ task :
51
+ name : ' Win64 [GOAL: deploy] [unit tests, no gui, no boost::process, no functional tests]'
52
+ << : *GLOBAL_TASK_TEMPLATE
53
+ container :
54
+ image : ubuntu:bionic
55
+ env :
56
+ FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
57
+
58
+ task :
59
+ name : ' x86_64 Linux [GOAL: install] [focal] [previous releases, uses qt5 dev package and some depends packages] [unsigned char]'
60
+ << : *GLOBAL_TASK_TEMPLATE
61
+ container :
62
+ image : ubuntu:focal
63
+ env :
64
+ FILE_ENV : " ./ci/test/00_setup_env_native_qt5.sh"
65
+
40
66
task :
41
67
name : ' x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: thread (TSan), no gui]'
42
68
<< : *GLOBAL_TASK_TEMPLATE
48
74
MAKEJOBS : " -j8"
49
75
FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
50
76
77
+ task :
78
+ name : ' x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: memory (MSan)]'
79
+ << : *GLOBAL_TASK_TEMPLATE
80
+ container :
81
+ image : ubuntu:focal
82
+ env :
83
+ FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
84
+
51
85
task :
52
86
name : ' x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]'
53
87
<< : *GLOBAL_TASK_TEMPLATE
57
91
FILE_ENV : " ./ci/test/00_setup_env_native_asan.sh"
58
92
59
93
task :
60
- name : ' x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, fuzzers under valgrind]'
94
+ name : ' x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
95
+ << : *GLOBAL_TASK_TEMPLATE
96
+ container :
97
+ image : ubuntu:focal
98
+ env :
99
+ FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
100
+
101
+ task :
102
+ name : ' x86_64 Linux [GOAL: install] [focal] [multiprocess]'
61
103
<< : *GLOBAL_TASK_TEMPLATE
62
104
container :
63
105
image : ubuntu:focal
64
106
env :
65
- FILE_ENV : " ./ci/test/00_setup_env_native_fuzz_with_valgrind.sh"
107
+ FILE_ENV : " ./ci/test/00_setup_env_native_multiprocess.sh"
108
+
109
+ task :
110
+ name : ' macOS 10.12 [GOAL: deploy] [no functional tests]'
111
+ << : *GLOBAL_TASK_TEMPLATE
112
+ container :
113
+ image : ubuntu:focal
114
+ env :
115
+ FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
116
+
117
+ task :
118
+ name : ' macOS 10.14 native [GOAL: install] [GUI] [no depends]'
119
+ macos_brew_addon_script :
120
+ - brew install boost libevent berkeley-db4 qt miniupnpc ccache zeromq qrencode sqlite libtool automake pkg-config gnu-getopt
121
+ << : *GLOBAL_TASK_TEMPLATE
122
+ osx_instance :
123
+ # Use latest image, but hardcode version to avoid silent upgrades (and breaks)
124
+ image : catalina-xcode-12.1 # https://cirrus-ci.org/guide/macOS
125
+ env :
126
+ DANGER_RUN_CI_ON_HOST : " true"
127
+ CI_USE_APT_INSTALL : " no"
128
+ PACKAGE_MANAGER_INSTALL : " echo" # Nothing to do
129
+ FILE_ENV : " ./ci/test/00_setup_env_mac_host.sh"
0 commit comments