From a50ac2f68117b805d94af4f760abaff10bf7092b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Sun, 28 Dec 2025 22:57:13 +0100 Subject: [PATCH] Add ASan and TSan builds on Mac --- .github/workflows/mac-sanitizer-builds.yml | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/mac-sanitizer-builds.yml diff --git a/.github/workflows/mac-sanitizer-builds.yml b/.github/workflows/mac-sanitizer-builds.yml new file mode 100644 index 00000000..ca21aa0e --- /dev/null +++ b/.github/workflows/mac-sanitizer-builds.yml @@ -0,0 +1,43 @@ +name: Mac Sanitizer Builds + +on: [push, pull_request] + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + CTEST_NO_TESTS_ACTION: error + +jobs: + build: + runs-on: ${{matrix.image}} + strategy: + fail-fast: false + matrix: + image: [macos-15, macos-15-intel] + build_type: [Debug] + std: [17] + sanitizer: [thread, address] + include: + - sanitizer: thread + preset: basic-tests + filter: -R ThreadSafetyTests + - sanitizer: address + preset: most-tests + filter: + + steps: + - uses: actions/checkout@v4 + + - name: Configure + + run: | + CFXXFLAGS=-fsanitize=${{matrix.sanitizer}},undefined + cmake --preset ${{matrix.preset}} -GNinja \ + -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \ + -DCMAKE_CXX_STANDARD=${{matrix.std}} \ + -DCATCH_BUILD_EXTRA_TESTS=ON + + - name: Build + run: cmake --build build + + - name: Test + run: ctest --test-dir build ${{matrix.filter}}