aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-11-10 22:59:44 +0100
committerDavid Robillard <d@drobilla.net>2020-11-11 00:09:44 +0100
commit79d11422526c46e4bae0d2b920110bbbb44d9c70 (patch)
treec2e3e397f639475c509ef48f0388b8315ad8d390 /.gitlab-ci.yml
parent9eee20ada8974e53227fa77e8dc0013ceaca88a3 (diff)
downloadserd-79d11422526c46e4bae0d2b920110bbbb44d9c70.tar.gz
serd-79d11422526c46e4bae0d2b920110bbbb44d9c70.tar.bz2
serd-79d11422526c46e4bae0d2b920110bbbb44d9c70.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.yml18
1 files changed, 18 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 47c96038..406dcf3d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -115,6 +115,24 @@ test:x64_static:
needs: ["x64_static"]
+x64_sanitize:
+ <<: *build_definition
+ image: lv2plugin/debian-x64-clang
+ script: python ./waf configure build -ST --werror
+ 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
image: lv2plugin/debian-mingw32