Skip to content

Commit 3276c14

Browse files
author
MarcoFalke
committed
Merge #19424: ci: Run tsan ci config on cirrus
fa8e6df ci: Run tsan ci config on cirrus (MarcoFalke) Pull request description: Fixes #12 Copied description from #19321: Currently it is not possible to use travis in forked repositories due to the 50 minute limit on builds. A fresh build (uncached) of the thread sanitizer config takes more than 50 minutes. One approach to fix this could be to throw away tests until the run time is less than 50 minutes. However, the risk of being blind of failures in the thrown away tests is not worth the gain. Also, to detect them, one has to run the tsan configuration nightly and failures could only be detected post-merge. Another approach would be to ask travis support to raise the limit for a forked repository. This is a tedious and manual one-by-one process, so I'd rather not. Finally, a different ci provider can be used, since the config files are designed to be platform-agnostic. This is what I picked. I kept all settings identical to the travis machine for now. Both providers run in the google cloud, so this should be a "move-only". ACKs for top commit: fanquake: ACK fa8e6df - my understanding is that test coverage remains the same. Just swapping providers to work-around the Travis time-limit in other repos. Tree-SHA512: 26fed248a4f743107160d3b9e5df57fa0be280fd065ae6fece83d254f59d58ccf3e11a245519d158da109c47b053f62ee8756215008541973c65dc28c4efb748
2 parents 915ac8a + fa8e6df commit 3276c14

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

.cirrus.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# Global defaults
1+
### Global defaults
2+
23
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
34
container:
45
# https://cirrus-ci.org/faq/#are-there-any-limits
@@ -12,7 +13,9 @@ env:
1213
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
1314
CCACHE_SIZE: "200M"
1415
CCACHE_DIR: "/tmp/ccache_dir"
15-
# Global task template
16+
17+
### Global task template
18+
1619
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
1720
global_task_template: &GLOBAL_TASK_TEMPLATE
1821
ccache_cache:
@@ -31,6 +34,7 @@ global_task_template: &GLOBAL_TASK_TEMPLATE
3134
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts
3235
ci_script:
3336
- ./ci/test_run_all.sh
37+
3438
#task:
3539
# name: "Windows"
3640
# windows_container:
@@ -47,6 +51,14 @@ global_task_template: &GLOBAL_TASK_TEMPLATE
4751
# install_script:
4852
# - choco install python --version=3.7.7 -y
4953

54+
task:
55+
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: thread (TSan), no gui]'
56+
<< : *GLOBAL_TASK_TEMPLATE
57+
container:
58+
image: ubuntu:focal
59+
env:
60+
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"
61+
5062
task:
5163
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]'
5264
<< : *GLOBAL_TASK_TEMPLATE

.travis.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,6 @@ jobs:
9999
env: >-
100100
FILE_ENV="./ci/test/00_setup_env_native_qt5.sh"
101101
102-
- stage: test
103-
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: thread (TSan), no gui]'
104-
env: >-
105-
FILE_ENV="./ci/test/00_setup_env_native_tsan.sh"
106-
107102
- stage: test
108103
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: memory (MSan)]'
109104
env: >-

0 commit comments

Comments
 (0)