From 3064801a8904ca650b60c5ab656647ec61d80839 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Wed, 22 Mar 2023 11:19:13 -0700 Subject: [PATCH] Attempt to add tsan to GHA --- .github/workflows/ci.yml | 9 +++++++++ test/Jamfile.v2 | 2 ++ 2 files changed, 11 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da3f5b2c..40e6f9a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,6 +54,9 @@ jobs: - { name: Collect coverage, coverage: yes, compiler: gcc-8, cxxstd: '03,11', os: ubuntu-20.04, install: 'g++-8-multilib', address-model: '32,64', ccache_key: "cov" } + - { name: "cfoa tsan (gcc)", cxxstd: '11,14,17,20,2b', os: ubuntu-22.04, compiler: gcc-12, + targets: 'libs/unordered/test//cfoa_tests', thread-sanitize: yes } + # Linux, clang, libc++ - { compiler: clang-7, cxxstd: '03,11,14,17', os: ubuntu-20.04, stdlib: libc++, install: 'clang-7 libc++-7-dev libc++abi-7-dev' } - { compiler: clang-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04, stdlib: libc++, install: 'clang-10 libc++-10-dev libc++abi-10-dev' } @@ -65,12 +68,16 @@ jobs: compiler: clang-12, cxxstd: '17,20,2b', os: ubuntu-20.04, stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev', ccache_key: "san2" } - { compiler: clang-13, cxxstd: '03,11,14,17,20,2b', os: ubuntu-22.04, stdlib: libc++, install: 'clang-13 libc++-13-dev libc++abi-13-dev' } - { compiler: clang-14, cxxstd: '03,11,14,17,20,2b', os: ubuntu-22.04, stdlib: libc++, install: 'clang-14 libc++-14-dev libc++abi-14-dev' } + # not using libc++ because of https://github.com/llvm/llvm-project/issues/52771 - { name: "clang-14 w/ sanitizers (03,11,14)", sanitize: yes, compiler: clang-14, cxxstd: '03,11,14', os: ubuntu-22.04, ccache_key: "san1" } - { name: "clang-14 w/ sanitizers (17,20,2b)", sanitize: yes, compiler: clang-14, cxxstd: '17,20,2b', os: ubuntu-22.04, ccache_key: "san2" } + - { name: "cfoa tsan (clang)", cxxstd: '11,14,17,20,2b', os: ubuntu-22.04, compiler: clang-14, + targets: 'libs/unordered/test//cfoa_tests', thread-sanitize: yes } + # OSX, clang - { compiler: clang, cxxstd: '03,11,14,17,2a', os: macos-11, } - { compiler: clang, cxxstd: '03,11,14,17,2a', os: macos-12, sanitize: yes } @@ -184,6 +191,8 @@ jobs: B2_COMPILER: ${{matrix.compiler}} B2_CXXSTD: ${{matrix.cxxstd}} B2_SANITIZE: ${{matrix.sanitize}} + B2_TSAN: ${{matrx.thread-sanitize}} + B2_TARGETS: ${{matrix.targets}} B2_STDLIB: ${{matrix.stdlib}} # More entries can be added in the same way, see the B2_ARGS assignment in ci/enforce.sh for the possible keys. # B2_DEFINES: ${{matrix.defines}} diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index f94bc6f6..eb971b37 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -164,3 +164,5 @@ rule build_cfoa ( name ) } build_cfoa insert_tests ; + +alias cfoa_tests : cfoa_insert_tests ;