@@ -67,20 +67,6 @@ compute_credits_template: &CREDITS_TEMPLATE
6767 # Only use credits for pull requests to the main repo
6868 use_compute_credits : $CIRRUS_REPO_FULL_NAME == 'ElementsProject/elements' && $CIRRUS_PR != ""
6969
70- task :
71- name : ' lint [bionic]'
72- << : *BASE_TEMPLATE
73- container :
74- image : ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
75- cpu : 1
76- memory : 1G
77- # For faster CI feedback, immediately schedule the linters
78- << : *CREDITS_TEMPLATE
79- lint_script :
80- - ./ci/lint_run_all.sh
81- env :
82- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
83-
8470win64_native_common : &win64_native_common
8571 << : *FILTER_TEMPLATE
8672 windows_container :
@@ -171,181 +157,9 @@ task:
171157 - mkdir artifactsdir
172158 # Heavier tests are moved to a secondary task
173159 # Exclude feature_dbcrash and feature_fee_estimation, failing https://github.com/ElementsProject/elements/pull/1298
174- - python test\functional\test_runner.py --tmpdirprefix=artifactsdir/ --ci --quiet --combinedlogslen=4000 --jobs=4 --timeout-factor=8 --extended --exclude wallet_avoidreuse,feature_trim_headers,feature_dbcrash,feature_fee_estimation
175- artifacts :
176- paths :
177- - artifactsdir/**/*.log
178- - artifactsdir/**/tmp*
179- - artifactsdir/**/*.conf
180-
181- task :
182- name : " Win64 native [vs2022] (Long running functional tests + unit tests)"
183- << : *win64_native_common
184- unit_tests_script :
185- - src\test_elements.exe -l test_suite
186- - src\bench_elements.exe > NUL
187- - python test\util\test_runner.py
188- - python test\util\rpcauth-test.py
189- functional_tests_script :
190- # Increase the dynamic port range to the maximum allowed value to mitigate "OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted".
191- # See: https://docs.microsoft.com/en-us/biztalk/technical-guides/settings-that-can-be-modified-to-improve-network-performance
192- - netsh int ipv4 set dynamicport tcp start=1025 num=64511
193- - netsh int ipv6 set dynamicport tcp start=1025 num=64511
194- - mkdir artifactsdir
195- # Execute tests excluded from the main task
196- # Ignore failures for now until https://github.com/ElementsProject/elements/pull/1298 is merged
197- - python test\functional\test_runner.py --tmpdirprefix=artifactsdir/ --ci --quiet --combinedlogslen=4000 --jobs=4 --timeout-factor=8 wallet_avoidreuse feature_trim_headers feature_dbcrash feature_fee_estimation || true
160+ # - python test\functional\test_runner.py --tmpdirprefix=artifactsdir/ --ci --quiet --combinedlogslen=4000 --jobs=4 --timeout-factor=8 --extended --exclude wallet_avoidreuse,feature_trim_headers,feature_dbcrash,feature_fee_estimation
198161 artifacts :
199162 paths :
200163 - artifactsdir/**/*.log
201164 - artifactsdir/**/tmp*
202165 - artifactsdir/**/*.conf
203-
204- task :
205- name : ' ARM [unit tests, no functional tests] [bullseye]'
206- << : *GLOBAL_TASK_TEMPLATE
207- container :
208- image : debian:bullseye
209- docker_arguments :
210- CI_IMAGE_NAME_TAG : debian:bullseye
211- << : *CREDITS_TEMPLATE
212- env :
213- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
214- FILE_ENV : " ./ci/test/00_setup_env_arm.sh"
215-
216- task :
217- name : ' Win64 [unit tests, no gui tests, no boost::process, no functional tests] [jammy]'
218- << : *GLOBAL_TASK_TEMPLATE
219- container :
220- image : ubuntu:jammy
221- env :
222- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
223- FILE_ENV : " ./ci/test/00_setup_env_win64.sh"
224-
225- task :
226- name : ' 32-bit + dash [gui] [Rocky 8]'
227- << : *GLOBAL_TASK_TEMPLATE
228- container :
229- image : quay.io/rockylinux/rockylinux:8
230- env :
231- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
232- PACKAGE_MANAGER_INSTALL : " yum install -y"
233- FILE_ENV : " ./ci/test/00_setup_env_i686_centos.sh"
234-
235- task :
236- name : ' [previous releases, uses qt5 dev package and some depends packages, DEBUG] [unsigned char] [bionic]'
237- previous_releases_cache :
238- folder : " releases"
239- << : *GLOBAL_TASK_TEMPLATE
240- << : *PERSISTENT_WORKER_TEMPLATE
241- env :
242- << : *PERSISTENT_WORKER_TEMPLATE_ENV
243- FILE_ENV : " ./ci/test/00_setup_env_native_qt5.sh"
244-
245- task :
246- name : ' [TSan, depends, gui] [2404]'
247- << : *GLOBAL_TASK_TEMPLATE
248- container :
249- image : ubuntu:24.04
250- cpu : 6 # Increase CPU and Memory to avoid timeout
251- memory : 24G
252- env :
253- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
254- FILE_ENV : " ./ci/test/00_setup_env_native_tsan.sh"
255- MAKEJOBS : " -j2" # Avoid excessive memory use due to MSan
256-
257- task :
258- name : ' [MSan, depends] [focal]'
259- << : *GLOBAL_TASK_TEMPLATE
260- container :
261- image : ubuntu:focal
262- env :
263- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
264- FILE_ENV : " ./ci/test/00_setup_env_native_msan.sh"
265-
266- task :
267- name : ' [ASan + LSan + UBSan + integer, no depends] [jammy]'
268- << : *GLOBAL_TASK_TEMPLATE
269- container :
270- image : ubuntu:jammy
271- memory : 16G # ELEMENTS: need more memory
272- cpu : 4 # ELEMENTS: cirrus wants more CPUs if you want more memory
273- env :
274- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
275- FILE_ENV : " ./ci/test/00_setup_env_native_asan.sh"
276-
277- task :
278- name : ' [fuzzer,address,undefined,integer, no depends] [jammy]'
279- << : *GLOBAL_TASK_TEMPLATE
280- container :
281- image : ubuntu:jammy
282- cpu : 8 # Increase CPU and memory to avoid timeout
283- memory : 16G
284- env :
285- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
286- FILE_ENV : " ./ci/test/00_setup_env_native_fuzz.sh"
287-
288- task :
289- name : ' [multiprocess, i686, DEBUG] [focal]'
290- # Disable for Elements for now; Multiprocess build is not supported or tested and fails CI.
291- only_if : false
292- << : *GLOBAL_TASK_TEMPLATE
293- container :
294- image : ubuntu:focal
295- cpu : 4
296- memory : 16G # The default memory is sometimes just a bit too small, so double everything
297- env :
298- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
299- FILE_ENV : " ./ci/test/00_setup_env_i686_multiprocess.sh"
300-
301- task :
302- name : ' [no wallet, libbitcoinkernel] [bionic]'
303- << : *GLOBAL_TASK_TEMPLATE
304- container :
305- image : ubuntu:bionic
306- env :
307- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
308- FILE_ENV : " ./ci/test/00_setup_env_native_nowallet_libbitcoinkernel.sh"
309-
310- task :
311- name : ' macOS 10.15 [gui, no tests] [focal]'
312- << : *BASE_TEMPLATE
313- macos_sdk_cache :
314- folder : " depends/SDKs/$MACOS_SDK"
315- fingerprint_key : " $MACOS_SDK"
316- << : *MAIN_TEMPLATE
317- container :
318- image : ubuntu:focal
319- env :
320- MACOS_SDK : " Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers"
321- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
322- FILE_ENV : " ./ci/test/00_setup_env_mac.sh"
323-
324- task :
325- name : ' macOS 13 native arm64 [gui, sqlite only] [no depends]'
326- macos_instance :
327- # Use latest image, but hardcode version to avoid silent upgrades (and breaks)
328- image : ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # https://cirrus-ci.org/guide/macOS
329- << : *MACOS_NATIVE_TASK_TEMPLATE
330- env :
331- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
332- CI_USE_APT_INSTALL : " no"
333- PACKAGE_MANAGER_INSTALL : " echo" # Nothing to do
334- FILE_ENV : " ./ci/test/00_setup_env_mac_native_arm64.sh"
335-
336- task :
337- name : ' ARM64 Android APK [focal]'
338- # Disable for Elements; Android build is broken and unsupported.
339- only_if : false
340- android_sdk_cache :
341- folder : " depends/SDKs/android"
342- fingerprint_key : " ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.1.7779620"
343- depends_sources_cache :
344- folder : " depends/sources"
345- fingerprint_script : git rev-list -1 HEAD ./depends
346- << : *MAIN_TEMPLATE
347- container :
348- image : ubuntu:focal
349- env :
350- << : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
351- FILE_ENV : " ./ci/test/00_setup_env_android.sh"
0 commit comments