Skip to content

Commit febe582

Browse files
author
MarcoFalke
committed
Merge #19321: ci: Run asan ci config on cirrus
fa2eb3d ci: Run asan ci config on cirrus (MarcoFalke) fa93527 cirrus: Clear dummy task (MarcoFalke) Pull request description: 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 address 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 asan 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: hebasto: ACK fa2eb3d Tree-SHA512: 159d7dc6f5b24583e941282cdd40465b15db787f0a658a3e81a7b1a22abdb4cb573709b9b5c4465523e0ba0060b17a68fbdbda7a9ecdeb649f31535d377bbe75
2 parents 5f72ddb + fa2eb3d commit febe582

File tree

2 files changed

+38
-21
lines changed

2 files changed

+38
-21
lines changed

.cirrus.yml

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
# Global defaults
2+
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
3+
container:
4+
# https://cirrus-ci.org/faq/#are-there-any-limits
5+
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
6+
cpu: 2
7+
memory: 6G # https://cirrus-ci.org/guide/linux/#linux-containers
8+
env:
9+
PACKAGE_MANAGER_INSTALL : "apt-get update && apt-get install -y"
10+
MAKEJOBS: "-j4"
11+
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
12+
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
13+
CCACHE_SIZE: "200M"
14+
CCACHE_DIR: "/tmp/ccache_dir"
15+
# Global task template
16+
# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
17+
global_task_template: &GLOBAL_TASK_TEMPLATE
18+
ccache_cache:
19+
folder: "/tmp/ccache_dir"
20+
depends_built_cache:
21+
folder: "/tmp/cirrus-ci-build/depends/built"
22+
depends_sdk_cache:
23+
folder: "/tmp/cirrus-ci-build/depends/sdk-sources"
24+
depends_releases_cache:
25+
folder: "/tmp/cirrus-ci-build/releases"
26+
merge_base_script:
27+
- bash -c "$PACKAGE_MANAGER_INSTALL git"
28+
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
29+
- git config --global user.email "[email protected]"
30+
- git config --global user.name "ci"
31+
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts
32+
ci_script:
33+
- ./ci/test_run_all.sh
134
#task:
235
# name: "Windows"
336
# windows_container:
@@ -13,22 +46,11 @@
1346
# VCPKG_COMMIT_ID: 'ed0df8ecc4ed7e755ea03e18aaf285fd9b4b4a74'
1447
# install_script:
1548
# - choco install python --version=3.7.7 -y
49+
1650
task:
17-
name: "x86_64 Linux [GOAL: install] [bionic] [Using ./ci/ system]"
51+
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]'
52+
<< : *GLOBAL_TASK_TEMPLATE
1853
container:
19-
image: ubuntu:18.04
20-
cpu: 8
21-
memory: 8G
22-
timeout_in: 60m
54+
image: ubuntu:bionic
2355
env:
24-
MAKEJOBS: "-j9"
25-
DANGER_RUN_CI_ON_HOST: "1"
26-
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
27-
CCACHE_SIZE: "200M"
28-
CCACHE_DIR: "/tmp/ccache_dir"
29-
ccache_cache:
30-
folder: "/tmp/ccache_dir"
31-
depends_built_cache:
32-
folder: "/tmp/cirrus-ci-build/depends/built"
33-
ci_script:
34-
- ./ci/test_run_all.sh
56+
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"

.travis.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,6 @@ jobs:
120120
TEST_RUNNER_EXTRA="--exclude feature_block"
121121
FILE_ENV="./ci/test/00_setup_env_native_tsan.sh"
122122
123-
- stage: test
124-
name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]'
125-
env: >-
126-
FILE_ENV="./ci/test/00_setup_env_native_asan.sh"
127-
128123
- stage: test
129124
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
130125
env: >-

0 commit comments

Comments
 (0)