summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-12-17 12:00:00 +0100
committerDavid Robillard <d@drobilla.net>2020-12-18 22:36:12 +0100
commit78b37b990e468cc527324ca19ac71f53292b83cb (patch)
tree18c3ed5cce201bb05e2a48d1ae7eba383f1870ca
parentfe5cf532320dd7a9ae2d10fc2234da2b8a299e57 (diff)
downloaddrobillad-78b37b990e468cc527324ca19ac71f53292b83cb.tar.gz
drobillad-78b37b990e468cc527324ca19ac71f53292b83cb.tar.bz2
drobillad-78b37b990e468cc527324ca19ac71f53292b83cb.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.
-rw-r--r--.gitlab-ci.yml18
1 files changed, 18 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 35467e2..d6fcc7d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -98,6 +98,24 @@ test:x64_rel:
needs: ["x64_rel"]
+x64_sanitize:
+ <<: *build_definition
+ image: lv2plugin/debian-x64-big
+ script: python ./waf configure build -sT --no-coverage --no-bindings
+ variables:
+ CC: "clang"
+ CFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
+ CXX: "clang++"
+ CXXFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
+ LINKFLAGS: "-fsanitize=address -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=implicit-conversion -fsanitize=local-bounds -fsanitize=nullability"
+
+test:x64_sanitize:
+ <<: *test_definition
+ image: lv2plugin/debian-x64-big
+ script: python ./waf test
+ needs: ["x64_sanitize"]
+
+
mac_dbg:
<<: *build_definition
script: python ./waf configure build -dsT --no-coverage