File tree Expand file tree Collapse file tree 4 files changed +13
-2
lines changed Expand file tree Collapse file tree 4 files changed +13
-2
lines changed Original file line number Diff line number Diff line change 11
11
strategy :
12
12
fail-fast : false
13
13
matrix :
14
- config : [default, llvm, gnu32]
14
+ config : [default, llvm, gnu32, tsan ]
15
15
16
16
name : build • ${{ matrix.config }}
17
17
Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ To run jobs locally:
19
19
CI_CONFIG=ci/configs/default.sh ci/scripts/run.sh
20
20
CI_CONFIG=ci/configs/llvm.sh ci/scripts/run.sh
21
21
CI_CONFIG=ci/configs/gnu32.sh ci/scripts/run.sh
22
+ CI_CONFIG=ci/configs/tsan.sh ci/scripts/run.sh
22
23
```
23
24
24
25
By default CI jobs will reuse their build directories. ` CI_CLEAN=1 ` can be specified to delete them before running instead.
Original file line number Diff line number Diff line change
1
+ CI_DESC=" CI job running thread sanitizer"
2
+ CI_DIR=build-tsan
3
+ export CXX=clang++
4
+ export CXXFLAGS=" -ggdb -Werror -Wall -Wextra -Wpedantic -Wthread-safety-analysis -Wno-unused-parameter -fsanitize=thread"
5
+ CMAKE_ARGS=()
6
+ BUILD_ARGS=(-k -j4)
7
+ BUILD_TARGETS=(mptest)
Original file line number Diff line number Diff line change @@ -4,9 +4,12 @@ set -o errexit -o nounset -o pipefail -o xtrace
4
4
[ " ${CI_CONFIG+x} " ] && source " $CI_CONFIG "
5
5
6
6
: " ${CI_DIR:= build} "
7
+ if ! [ -v BUILD_TARGETS ]; then
8
+ BUILD_TARGETS=(all tests mpexamples)
9
+ fi
7
10
8
11
[ -n " ${CI_CLEAN-} " ] && rm -rf " ${CI_DIR} "
9
12
10
13
cmake -B " $CI_DIR " " ${CMAKE_ARGS[@]+" ${CMAKE_ARGS[@]} " } "
11
- cmake --build " $CI_DIR " -t all tests mpexamples -- " ${BUILD_ARGS[@]+" ${BUILD_ARGS[@]} " } "
14
+ cmake --build " $CI_DIR " -t " ${BUILD_TARGETS[@]} " -- " ${BUILD_ARGS[@]+" ${BUILD_ARGS[@]} " } "
12
15
ctest --test-dir " $CI_DIR " --output-on-failure
You can’t perform that action at this time.
0 commit comments