diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5538c75b..d44c1b60 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,10 +72,25 @@ coverage: paths: - "_build/meson-logs" - public - + +static-scan: + stage: analysis + image: quay.io/gnome_infrastructure/gnome-build-meta:core-nightly + needs: + - job: build-flatpak + artifacts: false + script: + - .gitlab-ci/build-static-scan.sh + artifacts: + name: "gnome-calendar-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" + when: always + paths: + - "_build/meson-logs" + - public + pages: stage: deploy - needs: [ coverage ] + needs: [ coverage, static-scan ] script: # No-op, just to gitlab thinks there's something to do. # The jobs that this job depends on have already populated public/ diff --git a/.gitlab-ci/build-static-scan.sh b/.gitlab-ci/build-static-scan.sh new file mode 100755 index 00000000..7c224dfa --- /dev/null +++ b/.gitlab-ci/build-static-scan.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -eux -o pipefail + +meson setup --buildtype=debug --prefix /usr _scan_build . +ninja -C _scan_build scan-build +mkdir -p public/ +mv _scan_build/meson-logs/scanbuild public/scanbuild