The sanitizer jobs run in ubuntu 20.04 containers and thus overlap with testing already done for the regular ubuntu 20.04 build job. Fold the sanitizer run for GCC into the regular build job and add a second ubuntu 20.04 build job for CLang sanitizers. Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> --- .gitlab-ci.yml | 53 ++++++++++++++------------------------------------ 1 file changed, 15 insertions(+), 38 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 24feb48c99..567ff91c82 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -61,7 +61,7 @@ stages: before_script: - *script_variables script: - - meson setup build --werror || (cat build/meson-logs/meson-log.txt && exit 1) + - meson setup build --werror $MESON_ARGS || (cat build/meson-logs/meson-log.txt && exit 1) - meson dist -C build --no-tests - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip"; then @@ -71,27 +71,6 @@ stages: meson test -C build --no-suite syntax-check --print-errorlogs; 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 - - when: on_success - cache: - paths: - - ccache/ - key: "$CI_JOB_NAME" - before_script: - - *script_variables - script: - - meson build --werror -Ddocs=disabled -Db_lundef=false -Db_sanitize="$SANITIZER" - - ninja -C build; - - ninja -C build test; - variables: - UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 # Jobs that we delegate to Cirrus CI because they require an operating # system other than Linux. These jobs will only run if the required @@ -418,6 +397,20 @@ x64-ubuntu-2004: - x64-ubuntu-2004-container variables: NAME: ubuntu-2004 + ASAN_OPTIONS: verify_asan_link_order=0 + MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined + UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 + +x64-ubuntu-2004-clang: + extends: .native_build_job + needs: + - x64-ubuntu-2004-container + variables: + NAME: ubuntu-2004 + CC: clang + MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined + UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 + x64-freebsd-12-build: extends: .cirrus_build_job @@ -545,22 +538,6 @@ mingw64-fedora-rawhide: NAME: fedora-rawhide CROSS: mingw64 -# Sanitizers - -sanitize-gcc: - extends: .sanitizer_build_job - variables: - ASAN_OPTIONS: verify_asan_link_order=0 - CC: gcc - SANITIZER: address,undefined - -sanitize-clang: - extends: .sanitizer_build_job - variables: - CC: clang - SANITIZER: address,undefined - - # This artifact published by this job is downloaded by libvirt.org to # be deployed to the web root: # https://gitlab.com/libvirt/libvirt/-/jobs/artifacts/master/download?job=website -- 2.31.1