diff --git a/.travis.yml b/.travis.yml index b7fa90a..266765c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -112,14 +112,6 @@ jobs: - { compiler: clang++-9, env: 'B2_CXXSTD=03,11,14,17,2a', addons: *clang-9 } - { compiler: clang++-libc++, env: 'B2_CXXSTD=03,11,14', addons: *libcpp } -# Coverity Scan - - if: (env(COVERITY_SCAN_NOTIFICATION_EMAIL) IS present) AND (branch IN (develop, master)) AND (type IN (cron, push)) - compiler: clang++ - env: COMMENT="Coverity Scan" - script: - - cd $BOOST_ROOT/libs/$SELF - - $BOOST_CI/ci/travis/coverity.sh - stages: - essential - name: additional diff --git a/appveyor.yml b/appveyor.yml index c1f080b..9f5cfdb 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -110,6 +110,16 @@ environment: # Work around for https://community.codecov.io/t/bash-script-does-not-detect-appveyor/1094 APPVEYOR: true CI: true + # Coverity + - COVERITY: true + # Coverity doesn't really support MSVC 2019 yet + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + GENERATOR: Visual Studio 15 2017 + BOOST_ROOT: C:\Libraries\boost_1_69_0 + COVERITY_SCAN_TOKEN: + secure: FzhGUr+AR/VOBGUta7dDLMDruolChnvyMSvsM/zLvPY= + COVERITY_SCAN_NOTIFICATION_EMAIL: + secure: Qq4PZ3QlpYtg3HEyn9r2Og== install: - set SELF=%APPVEYOR_PROJECT_NAME:-=_% @@ -154,8 +164,7 @@ test_script: for: - matrix: - only: - - CMAKE: true + only: [CMAKE: true] install: true before_build: - if exist build\ (rmdir /S /Q build) @@ -164,9 +173,7 @@ for: - mkdir build - cd build - cmake -G "%GENERATOR%" -DCMAKE_INSTALL_PREFIX=%INSTALL_DIR% .. - build_script: cmake --build . --config %configuration% --parallel 4 - test_script: - ctest --output-on-failure -C %configuration% --parallel 4 - ps: | @@ -184,3 +191,30 @@ for: - cmake ../test/exampleProject -G "%GENERATOR%" -DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%\installed - cmake --build . --config %configuration% - ctest --output-on-failure -C %configuration% --parallel 4 + # Coverity build + - matrix: + only: [COVERITY: true] + branches: + only: [master, develop] + init: + - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -gt 0) {Exit-AppveyorBuild} + install: true + test_script: + - cd build + - cmake -G "%GENERATOR%" .. + - ps: | + nuget install -ExcludeVersion PublishCoverity + cov-build.exe --dir cov-int cmake --build . --config $env:configuration + If ($LastExitCode -ne 0) { + cat cov-int/build-log.txt + $host.SetShouldExit($LastExitCode) + } + PublishCoverity\tools\PublishCoverity.exe compress --nologo -i cov-int -o cov-int.zip --overwrite + + PublishCoverity\tools\PublishCoverity.exe publish --nologo ` + -t "$env:COVERITY_SCAN_TOKEN" ` + -e "$env:COVERITY_SCAN_NOTIFICATION_EMAIL" ` + -r "$env:APPVEYOR_REPO_NAME" ` + -z "cov-int.zip" ` + -d "Appveyor build for $env:APPVEYOR_REPO_BRANCH" ` + --codeVersion "$env:APPVEYOR_REPO_BRANCH"