summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-11-11 23:27:28 +0100
committerDavid Robillard <d@drobilla.net>2020-11-12 01:47:22 +0100
commit1387fefe9a0fb229c48268ec866528712299b2b3 (patch)
treec453049a9714502e6e208b1afe63a67e7be80cc9
parent674b78eea35baddcdc5639ed0ad1329f49f87de0 (diff)
downloaddrobillad-1387fefe9a0fb229c48268ec866528712299b2b3.tar.gz
drobillad-1387fefe9a0fb229c48268ec866528712299b2b3.tar.bz2
drobillad-1387fefe9a0fb229c48268ec866528712299b2b3.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