mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
ci: add coverity pipeline
This is meant to run as a scheduled job with the COVERITY variable set
This commit is contained in:
parent
e5664a24a5
commit
1660afbd97
1 changed files with 75 additions and 6 deletions
|
|
@ -1,6 +1,8 @@
|
||||||
stages:
|
stages:
|
||||||
- container
|
- container
|
||||||
|
- container_coverity
|
||||||
- build
|
- build
|
||||||
|
- analysis
|
||||||
- pages
|
- pages
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
|
|
@ -45,6 +47,29 @@ include:
|
||||||
xmltoman
|
xmltoman
|
||||||
libsndfile-devel
|
libsndfile-devel
|
||||||
|
|
||||||
|
.coverity:
|
||||||
|
variables:
|
||||||
|
FDO_REPO_SUFFIX: 'coverity'
|
||||||
|
FDO_BASE_IMAGE: registry.freedesktop.org/$FDO_UPSTREAM_REPO/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||||
|
FDO_DISTRIBUTION_PACKAGES: >-
|
||||||
|
curl
|
||||||
|
FDO_DISTRIBUTION_EXEC: >-
|
||||||
|
mkdir -p /opt
|
||||||
|
cd /opt
|
||||||
|
curl -o /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64 \
|
||||||
|
--form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN
|
||||||
|
tar xf /tmp/cov-analysis-linux64.tgz
|
||||||
|
mv cov-analysis-linux64-* coverity
|
||||||
|
rm /tmp/cov-analysis-linux64.tgz
|
||||||
|
only:
|
||||||
|
variables:
|
||||||
|
- $COVERITY
|
||||||
|
|
||||||
|
.not_coverity:
|
||||||
|
except:
|
||||||
|
variables:
|
||||||
|
- $COVERITY
|
||||||
|
|
||||||
.build:
|
.build:
|
||||||
before_script:
|
before_script:
|
||||||
# setup the environment
|
# setup the environment
|
||||||
|
|
@ -69,12 +94,6 @@ include:
|
||||||
- ninja -C "$BUILD_DIR" test
|
- ninja -C "$BUILD_DIR" test
|
||||||
- ninja -C "$BUILD_DIR" install
|
- ninja -C "$BUILD_DIR" install
|
||||||
- ./check_missing_headers.sh
|
- ./check_missing_headers.sh
|
||||||
artifacts:
|
|
||||||
name: pipewire-$CI_COMMIT_SHA
|
|
||||||
when: always
|
|
||||||
paths:
|
|
||||||
- build-*/meson-logs
|
|
||||||
- prefix-*
|
|
||||||
|
|
||||||
container_fedora:
|
container_fedora:
|
||||||
extends:
|
extends:
|
||||||
|
|
@ -84,14 +103,64 @@ container_fedora:
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
||||||
|
|
||||||
|
container_coverity:
|
||||||
|
extends:
|
||||||
|
- .fedora
|
||||||
|
- .coverity
|
||||||
|
- .fdo.container-build@fedora
|
||||||
|
stage: container_coverity
|
||||||
|
variables:
|
||||||
|
GIT_STRATEGY: none
|
||||||
|
|
||||||
build_on_fedora:
|
build_on_fedora:
|
||||||
extends:
|
extends:
|
||||||
- .fedora
|
- .fedora
|
||||||
|
- .not_coverity
|
||||||
- .fdo.distribution-image@fedora
|
- .fdo.distribution-image@fedora
|
||||||
- .build
|
- .build
|
||||||
stage: build
|
stage: build
|
||||||
|
artifacts:
|
||||||
|
name: pipewire-$CI_COMMIT_SHA
|
||||||
|
when: always
|
||||||
|
paths:
|
||||||
|
- build-*/meson-logs
|
||||||
|
- prefix-*
|
||||||
|
|
||||||
|
build_with_coverity:
|
||||||
|
extends:
|
||||||
|
- .fedora
|
||||||
|
- .coverity
|
||||||
|
- .fdo.suffixed-image@fedora
|
||||||
|
- .build
|
||||||
|
stage: analysis
|
||||||
|
script:
|
||||||
|
- export PATH=/opt/coverity/bin:$PATH
|
||||||
|
- meson "$BUILD_DIR" . --prefix="$PREFIX"
|
||||||
|
-Ddocs=disabled
|
||||||
|
-Dbluez5-backend-hsphfpd=enabled
|
||||||
|
-Daudiotestsrc=enabled
|
||||||
|
-Dtest=enabled
|
||||||
|
-Dvideotestsrc=enabled
|
||||||
|
-Dvolume=enabled
|
||||||
|
-Dvulkan=enabled
|
||||||
|
-Dsdl2=enabled
|
||||||
|
-Dsndfile=enabled
|
||||||
|
- cov-build --dir cov-int ninja -C "$BUILD_DIR"
|
||||||
|
- tar czf cov-int.tar.gz cov-int
|
||||||
|
- curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
|
||||||
|
--form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL
|
||||||
|
--form file=@cov-int.tar.gz --form version="`git describe --tags`"
|
||||||
|
--form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID "
|
||||||
|
artifacts:
|
||||||
|
name: pipewire-coverity-$CI_COMMIT_SHA
|
||||||
|
when: always
|
||||||
|
paths:
|
||||||
|
- build-*/meson-logs
|
||||||
|
- cov-int/build-log.txt
|
||||||
|
|
||||||
pages:
|
pages:
|
||||||
|
extends:
|
||||||
|
- .not_coverity
|
||||||
stage: pages
|
stage: pages
|
||||||
dependencies:
|
dependencies:
|
||||||
- build_on_fedora
|
- build_on_fedora
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue