From d8ff3dc80e28fe9be64d0000e8f6fcd1172d2f38 Mon Sep 17 00:00:00 2001 From: Damien Mehala Date: Wed, 22 Oct 2025 07:17:57 -0400 Subject: [PATCH 1/3] chore(ci): build with sanitizers --- .github/workflows/dev.yml | 4 ++-- CMakePresets.json | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 94392a4e..c642d982 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -41,7 +41,7 @@ jobs: steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - name: Configure - run: bin/with-toolchain ${{ matrix.toolchain }} cmake . -B .build -DCMAKE_BUILD_TYPE=Debug -DDD_TRACE_BUILD_TESTING=1 + run: bin/with-toolchain ${{ matrix.toolchain }} cmake . -B .build --preset ci-clang - name: Build run: cmake --build ${BUILD_DIR} -j -v - name: Test @@ -129,7 +129,7 @@ jobs: - name: Build run: | & 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\Tools\\Launch-VsDevShell.ps1' -arch ${{ matrix.arch }} - cmake --preset=ci-windows -B build -DCMAKE_BUILD_TYPE=Debug . + cmake --preset=ci-msvc -B build -DCMAKE_BUILD_TYPE=Debug . cmake --build build -j $env:MAKE_JOB_COUNT -v - name: Test run: | diff --git a/CMakePresets.json b/CMakePresets.json index 99e2381d..bccc9895 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -3,14 +3,15 @@ "$schema": "https://cmake.org/cmake/help/latest/_downloads/3e2d73bff478d88a7de0de736ba5e361/schema.json", "configurePresets": [ { - "name": "ci-windows", - "displayName": "CI Windows", + "name": "ci-msvc", + "displayName": "CI MSVC", "generator": "Ninja", "cacheVariables": { - "CMAKE_COMPILE_WARNING_AS_ERROR": "1", + "CMAKE_COMPILE_WARNING_AS_ERROR": "ON", "BUILD_SHARED_LIBS": "OFF", "DD_TRACE_STATIC_CRT": "1", - "DD_TRACE_BUILD_TESTING": "1" + "DD_TRACE_BUILD_TESTING": "1", + "DD_TRACE_ENABLE_SANITIZE": "ON" } }, { @@ -26,11 +27,20 @@ "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", - "DD_TRACE_ENABLE_SANITIZE": "OFF", + "DD_TRACE_ENABLE_SANITIZE": "ON", "DD_TRACE_BUILD_TESTING": "ON", "DD_TRACE_BUILD_EXAMPLES": "ON", "DD_TRACE_BUILD_FUZZERS": "OFF" } + }, + { + "name": "ci-clang", + "displayName": "CI Clang", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "DD_TRACE_ENABLE_SANITIZE": "ON", + "DD_TRACE_BUILD_TESTING": "ON" + } } ] } From 27f12e1767d809bb8bacba1b4a6cff2da21179d7 Mon Sep 17 00:00:00 2001 From: Damien Mehala Date: Wed, 22 Oct 2025 14:12:45 -0400 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: Zach Montoya --- CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakePresets.json b/CMakePresets.json index bccc9895..57abbeed 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -10,7 +10,7 @@ "CMAKE_COMPILE_WARNING_AS_ERROR": "ON", "BUILD_SHARED_LIBS": "OFF", "DD_TRACE_STATIC_CRT": "1", - "DD_TRACE_BUILD_TESTING": "1", + "DD_TRACE_BUILD_TESTING": "ON", "DD_TRACE_ENABLE_SANITIZE": "ON" } }, From 0f5634c2e8c1e4f1af171394f8dbcfb39b5642d4 Mon Sep 17 00:00:00 2001 From: Damien Mehala Date: Mon, 3 Nov 2025 21:53:05 -0400 Subject: [PATCH 3/3] ignore alloc/dealloc mismatch --- .github/workflows/dev.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index c642d982..3d3941c0 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -46,6 +46,8 @@ jobs: run: cmake --build ${BUILD_DIR} -j -v - name: Test run: cd ${BUILD_DIR} && test/tests -r junit -o report.xml + env: + ASAN_OPTIONS: alloc_dealloc_mismatch=0 - name: Upload test report to Datadog run: | curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-${{ matrix.arch }}" --output "/usr/local/bin/datadog-ci" && chmod +x /usr/local/bin/datadog-ci