summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-11-11 12:37:53 +0100
committerDavid Robillard <d@drobilla.net>2020-11-11 12:37:53 +0100
commit37727929bb07aec91038a9e4d14dc5a9290a9df5 (patch)
tree2a1ea7237c66ae5cbd53cccd4bc2a1e9498258e5 /.gitlab-ci.yml
parent3988cda6564cdb5a9bca91bc263bfbc7510b91b0 (diff)
downloadzix-37727929bb07aec91038a9e4d14dc5a9290a9df5.tar.gz
zix-37727929bb07aec91038a9e4d14dc5a9290a9df5.tar.bz2
zix-37727929bb07aec91038a9e4d14dc5a9290a9df5.zip
Add CI row to run clang sanitizers
Some of these are also supported by GCC, but clang supports more and clang on Linux was uncovered before anyway, so this fixes that situation as well.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml17
1 files changed, 17 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fd080fd..09e5596 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -114,6 +114,23 @@ test:x64_static:
script: python ./waf test
needs: ["x64_static"]
+x64_sanitize:
+ <<: *build_definition
+ image: lv2plugin/debian-x64-clang
+ script: python ./waf configure build -ST --werror --no-coverage --no-test-malloc
+ variables:
+ CC: "clang"
+ CFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
+ CXX: "clang++"
+ CXXFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
+ LINKFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=unsigned-integer-overflow -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
+
+test:x64_sanitize:
+ <<: *test_definition
+ image: lv2plugin/debian-x64-clang
+ script: python ./waf test
+ needs: ["x64_sanitize"]
+
mingw32_dbg:
<<: *build_definition