diff options
Diffstat (limited to 'build/gitlab-ci')
-rw-r--r-- | build/gitlab-ci | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/build/gitlab-ci b/build/gitlab-ci index 1280f2c4..110df391 100644 --- a/build/gitlab-ci +++ b/build/gitlab-ci @@ -32,11 +32,30 @@ cmake_build() opts="-Dfatal-warnings=ON" echo "Running cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../cmake-install ${opts} .." cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../cmake-install ${opts} .. - cmake --build . + $COVERITY_BUILD cmake --build . cmake --build . --target install ctest -V } +# Static-analysis with coverity +coverity_build() +{ + 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 xfz /tmp/cov-analysis-linux64.tgz + COVERITY_BUILD="$(pwd)/cov-analysis-linux64-*/bin/cov-build --dir cov-int" cmake_build "$@" + tar cfz 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" +} + + build=$1 shift @@ -49,6 +68,10 @@ case $build in echo "Testing CMake build" cmake_build "$@" ;; + coverity) + echo "Static analysis with Coverity" + coverity_build "$@" + ;; *) echo "Invalid argument: \"$arg\"" >&2 exit 1 |