diff --git a/CMakePresets.json b/CMakePresets.json index e983c4b7cd16f7faae84c4e0a7c05881a4fe9f5e..f353743696d6448035a450364e5182268320f5f4 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -215,6 +215,27 @@ "OGS_USE_MFRONT": "ON", "BUILD_SHARED_LIBS": "ON" } + }, + { + "name": "sanitizer", + "inherits": "debug-all", + "cacheVariables": { + "BUILD_SHARED_LIBS": "ON", + "OGS_CXX_FLAGS": "-O3;-fno-var-tracking", + "OGS_EIGEN_DYNAMIC_SHAPE_MATRICES": "OFF", + "ENABLE_ASAN": "ON", + "ENABLE_UBSAN": "ON", + "ENABLE_LSAN": "ON", + "OGS_BUILD_TFEL": "ON", + "OGS_BUILD_VTK": "ON", + "OGS_BUILD_HDF5": "ON" + }, + "environment": { + "CC": "clang", + "CXX": "clang++", + "UBSAN_OPTIONS": "print_stacktrace=1", + "LSAN_OPTIONS": "suppressions=${sourceDir}/scripts/test/leak_sanitizer.suppressions" + } } ], "buildPresets": [ @@ -314,6 +335,10 @@ { "name": "wheel", "configurePreset": "wheel" + }, + { + "name": "sanitizer", + "configurePreset": "sanitizer" } ], "testPresets": [ @@ -326,6 +351,9 @@ "filter": { "include": { "label": "default" + }, + "exclude": { + "name": "nb-" } }, "execution": { @@ -403,6 +431,13 @@ "inherits": [ "release" ] + }, + { + "name": "sanitizer", + "configurePreset": "sanitizer", + "inherits": [ + "release" + ] } ] } diff --git a/scripts/ci/jobs/build-linux.yml b/scripts/ci/jobs/build-linux.yml index b78a7394b6d38b58e572c547071fff385715bc3a..2cc71f9f4d9e50efffc276be3fd653c8edb92a94 100644 --- a/scripts/ci/jobs/build-linux.yml +++ b/scripts/ci/jobs/build-linux.yml @@ -50,23 +50,10 @@ build linux debug with sanitizers: needs: [meta] variables: BUILD_PACKAGE: "false" - CMAKE_PRESET: debug + CMAKE_PRESET: sanitizer CMAKE_ARGS: >- - -DCMAKE_C_COMPILER=/usr/bin/clang - -DCMAKE_CXX_COMPILER=/usr/bin/clang++ - -DBUILD_SHARED_LIBS=ON - -DOGS_CXX_FLAGS=-O3;-fno-var-tracking - -DOGS_EIGEN_DYNAMIC_SHAPE_MATRICES=OFF - -DENABLE_ASAN=ON - -DENABLE_UBSAN=ON - -DENABLE_LSAN=ON - -DOGS_CTEST_MAX_RUNTIME=5 - -DOGS_USE_PIP=ON - -DOGS_USE_MFRONT=ON - -DOGS_BUILD_TFEL=ON - UBSAN_OPTIONS: "print_stacktrace=1" - LSAN_OPTIONS: "suppressions=$CI_PROJECT_DIR/scripts/test/leak_sanitizer.suppressions" - CTEST_TIMEOUT: 120 + -DOGS_CTEST_MAX_RUNTIME=60 + -DOGS_BUILD_PROCESSES=SteadyStateDiffusion build linux ubuntu perf: extends: