commit:     00090c9639522b484a4f8c3cf9b9fcb2f7ad6a5c
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 20 03:12:05 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Jun 20 03:12:05 2016 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=00090c96

travis: add coverity scan integration

 .travis.yml    |  9 ++++++++-
 travis/main.sh | 25 +++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 015172e..fb4c521 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,15 +2,22 @@
 # https://docs.travis-ci.com/
 
 language: c
+# Order here matters for implicit matrix generation and coverity scan.
+# See travis/main.sh for details.
 compiler:
-  - clang
   - gcc
+  - clang
 
 sudo: false
 
+# Order here matters; see compiler comment above.
 os:
   - linux
 
+env:
+  global:
+    - secure: 
"qF/ueXvm1uawirfQL+jK5LSJW1P+ZVXDx5t9HljFP1jC45D/1aqEs1ffaNkvBJohUJy6mABnXN5+ZP0PoQ+ZA01t+6NDc/LrowGP87T02KGwjBukQ9tQK8zVutsT+0CY3qUPhRcaLH5Gt3c+uPDKlLndg/bXWS6cRpMt6tC3VTy+WpAlvHHfZJjSZVYp8qhCattnaZ7GvzqGqbjBZ6X7TrQnwIDdGAyg5r4xnViDxu9lO4ZH4zS6Rc7DxesrqC3zxwPRw5HLNsGbJiGQF3meXH6rVNt1uxKwwOQoDcL0NKiyAMpXwu5iGeuMILoy3KMpFwZFnhyXqMGRORakDuDNB9oMgzp+PB3Zb7TICXbhxbrQ46lSlv0VWkwn3bcJ0lek53NzDUmM2uywvCUYybPgn3xCqY9jG0zwO2ZIACc1ekGh7y0gFXfBoSZGhl1VthV5hWMJ01p/n5jK7XdDmK4G/+0wN2WlHhyvjoF6XyJ+SRC85l6VhpBNbFJA2bGT2Y4+p/CzF7M8DVYR3o+OfCWxsiZyE+Vnmpdg4U829oy97obIuBeCvBd1Vp0hoB+RpzaeqzS69N+S4tgCIXvIdu168HltFaTUPtvIGoDtIAPCaUZC8jVO22cA6RpNkac3HjpLSceYYtdkiph4VuBMwHZj6/N2+m46Y9Uxrh01KzLy/GY="
+
 addons:
   apt:
     packages:

diff --git a/travis/main.sh b/travis/main.sh
index e333685..7831298 100755
--- a/travis/main.sh
+++ b/travis/main.sh
@@ -2,6 +2,27 @@
 
 . "${0%/*}"/lib.sh
 
+# We have to do this by hand rather than use the coverity addon because of
+# matrix explosion: https://github.com/travis-ci/travis-ci/issues/1975
+coverity_scan() {
+       local reason
+       [[ ${TRAVIS_JOB_NUMBER} != *.1 ]] && reason="not first build job"
+       [[ -n ${TRAVIS_TAG} ]] && reason="git tag"
+       [[ ${TRAVIS_PULL_REQUEST} == "true" ]] && reason="pull request"
+       if [[ -n ${reason} ]] ; then
+               echo "Skipping coverity scan due to: ${reason}"
+               return
+       fi
+
+       export COVERITY_SCAN_PROJECT_NAME="${TRAVIS_REPO_SLUG}"
+       export COVERITY_SCAN_NOTIFICATION_EMAIL="vap...@gentoo.org"
+       export COVERITY_SCAN_BUILD_COMMAND="make -j${ncpus}"
+       export COVERITY_SCAN_BUILD_COMMAND_PREPEND="git clean -q -x -d -f; git 
checkout -f"
+       export COVERITY_SCAN_BRANCH_PATTERN="master"
+
+       curl -s 
"https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh"; | bash || :
+}
+
 main() {
        # For local deps like iniparser.
        export CPPFLAGS="-I${PWD}/../sysroot"
@@ -14,5 +35,9 @@ main() {
        # Debug build w/ASAN and such enabled.
        m debug
        m check
+
+       # Do scans last as they like to dirty the tree and some tests
+       # expect a clean tree (like code style checks).
+       v --fold="coverity_scan" coverity_scan
 }
 main "$@"

Reply via email to