On Thu, May 06, 2021 at 17:08:38 +0200, Tim Wiederhake wrote: > meson supports the following sanitizers: "address" (e.g. out-of-bounds > memory access, use-after-free, etc.), "thread" (data races), "undefined" > (e.g. signed integer overflow), and "memory" (use of uninitialized > memory). Note that not all sanitizers are supported by all compilers, > and that more sanitizers exist. > > Not all sanitizers can be enabled at the same time, but "address" and > "undefined" can. Both thread and memory sanitizers require an instrumented > build of all dependencies, including libc. > > gcc and clang use different implementations of these sanitizers and > have proven to find different issues. Create CI jobs for both. > > Signed-off-by: Tim Wiederhake <twiederh@xxxxxxxxxx> > --- > .gitlab-ci.yml | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 89f618e678..4de4c30d7f 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -73,6 +73,26 @@ stages: > rpmbuild --nodeps -ta build/meson-dist/libvirt-*.tar.xz; > fi > > +.sanitizer_build_job: > + stage: builds > + image: $CI_REGISTRY_IMAGE/ci-ubuntu-2004:latest > + needs: > + - x64-ubuntu-2004-container > + rules: > + - if: "$TEMPORARILY_DISABLED" > + allow_failure: true Does this mean that if $TEMPORARILY_DISABLED is not passed then the sanitizer error causes a pipeline failure? If yes then I'd like to know how we are going to waive false-positives as modifying the code is the wrong action in such case.