Skip to content

Commit 3d30823

Browse files
committed
Add macOS variants for sanitizer CI jobs
For macOS, add jobs testing sanitizer works both with AppleClang and Clang.
1 parent 0963874 commit 3d30823

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed

.gitlab-ci.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,3 +554,72 @@ Linux/Clang/UndefinedSanitizer (LEGACY):
554554
CXX: clang++
555555
CMAKE_OPTIONS: -D USE_SANITIZER=undefined
556556
<<: *linux_success_template
557+
558+
.macos_success_template: &macos_success_template
559+
stage: Sanitizers
560+
parallel:
561+
matrix:
562+
- ARCH: [arm64]
563+
tags:
564+
- macos
565+
- ${ARCH}
566+
script:
567+
- cmake example/all -B build -GNinja -DCMAKE_BUILD_TYPE=Release ${CMAKE_OPTIONS}
568+
- ninja -C build
569+
- ninja -C build test
570+
571+
.macos_failure_template: &macos_failure_template
572+
stage: Sanitizers
573+
parallel:
574+
matrix:
575+
- ARCH: [arm64]
576+
tags:
577+
- macos
578+
- ${ARCH}
579+
script:
580+
- cmake example/all -B build -GNinja -DCMAKE_BUILD_TYPE=Release ${CMAKE_OPTIONS}
581+
- ninja -C build
582+
- "! ninja -C build test"
583+
584+
macOS/AppleClang/ThreadSanitizer:
585+
variables:
586+
CMAKE_OPTIONS: -D EXAMPLE_USE_SANITIZER=thread
587+
<<: *macos_failure_template
588+
589+
macOS/Clang/ThreadSanitizer:
590+
variables:
591+
CC: clang
592+
CXX: clang++
593+
CMAKE_OPTIONS: -D EXAMPLE_USE_SANITIZER=thread
594+
<<: *macos_failure_template
595+
596+
macOS/AppleClang/AddressSanitizer:
597+
variables:
598+
CMAKE_OPTIONS: -D EXAMPLE_USE_SANITIZER=address
599+
<<: *macos_failure_template
600+
601+
macOS/Clang/AddressSanitizer:
602+
variables:
603+
CC: clang
604+
CXX: clang++
605+
CMAKE_OPTIONS: -D EXAMPLE_USE_SANITIZER=address
606+
<<: *macos_failure_template
607+
608+
macOS/Clang/LeakSanitizer:
609+
variables:
610+
CC: clang
611+
CXX: clang++
612+
CMAKE_OPTIONS: -D EXAMPLE_USE_SANITIZER=leak
613+
<<: *macos_failure_template
614+
615+
macOS/AppleClang/UndefinedSanitizer:
616+
variables:
617+
CMAKE_OPTIONS: -D EXAMPLE_USE_SANITIZER=undefined
618+
<<: *macos_success_template
619+
620+
macOS/Clang/UndefinedSanitizer:
621+
variables:
622+
CC: clang
623+
CXX: clang++
624+
CMAKE_OPTIONS: -D EXAMPLE_USE_SANITIZER=undefined
625+
<<: *macos_success_template

example/all/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ include(dependency-graph)
1414
cxx_11()
1515

1616
# Tools
17-
if(NOT WIN32)
17+
if(UNIX AND NOT APPLE)
1818
file(GLOB_RECURSE FFILES *.[hc] *.[hc]pp)
1919
clang_format(format ${FFILES})
2020

0 commit comments

Comments
 (0)