diff options
author | lhchavez <lhchavez@lhchavez.com> | 2020-08-03 07:17:52 -0700 |
---|---|---|
committer | lhchavez <lhchavez@lhchavez.com> | 2020-08-03 09:37:32 -0700 |
commit | 896b1db493245f5ecbbb328b4d1485e44d4a1e27 (patch) | |
tree | b50c1aa7585eaab07143f2156e185394178e5090 /.github | |
parent | c71321a099373753c22055921c8f538afed5ebb6 (diff) | |
download | libgit2-896b1db493245f5ecbbb328b4d1485e44d4a1e27.tar.gz |
Add a ThreadSanitizer build
This change adds a ThreadSanitizer CI build rule. It's informative for
now because there are still known places where there are races.
Part of: #5592
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/main.yml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 29507c8f0..9c16127b3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,6 +109,18 @@ jobs: SKIP_NEGOTIATE_TESTS: true ASAN_SYMBOLIZER_PATH: /usr/bin/llvm-symbolizer-10 os: ubuntu-latest + - # Focal, Clang 10, OpenSSL, ThreadSanitizer + image: focal + env: + CC: clang-10 + CFLAGS: -fsanitize=thread -fno-optimize-sibling-calls -fno-omit-frame-pointer + CMAKE_OPTIONS: -DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON + CMAKE_GENERATOR: Ninja + SKIP_SSH_TESTS: true + SKIP_NEGOTIATE_TESTS: true + ASAN_SYMBOLIZER_PATH: /usr/bin/llvm-symbolizer-10 + TSAN_OPTIONS: suppressions=/home/libgit2/source/script/thread-sanitizer.supp second_deadlock_stack=1 + os: ubuntu-latest - # macOS os: macos-10.15 env: @@ -197,6 +209,7 @@ jobs: -e PKG_CONFIG_PATH \ -e SKIP_NEGOTIATE_TESTS \ -e SKIP_SSH_TESTS \ + -e TSAN_OPTIONS \ ${{ env.docker-registry-container-sha }} \ /bin/bash -c "mkdir build && cd build && ../azure-pipelines/build.sh && ../azure-pipelines/test.sh" else |