aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-06-19 09:30:07 -0400
committerMike Frysinger <vapier@gentoo.org>2016-06-19 09:30:07 -0400
commitc88a1c6b3dd1a5bcbd8f82a7a73751100e128a00 (patch)
tree6e2ec1f77e844a39b8c5de4ef7639fe5c631c586
parentman: drop redundant id sections (diff)
downloadpax-utils-c88a1c6b3dd1a5bcbd8f82a7a73751100e128a00.tar.gz
pax-utils-c88a1c6b3dd1a5bcbd8f82a7a73751100e128a00.tar.bz2
pax-utils-c88a1c6b3dd1a5bcbd8f82a7a73751100e128a00.zip
travis: add coverity scan integration
-rw-r--r--.travis.yml12
-rw-r--r--README.md2
-rwxr-xr-xtravis/main.sh25
3 files changed, 34 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml
index 4f5f843..37b90c3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,22 +2,26 @@
# 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
-# Travis currently runs on OS X 10.9 which does not include *at funcs.
-# Disable until they update or we include autotools support.
- osx
# Travis currently uses Ubuntu 12.04 (Precise) which is too old: it does
# not include pyelftools. Disable until they update.
env:
- - USE_PYTHON=no
+ global:
+ - USE_PYTHON=no
+ - secure: "ePjz/xsdTlf0lhdZtANITiAk2lBAA9wwzB5PK/9aR5i1eBfjgXQgIJLY1y7Lqa4WU8TnSF2mwzd0pYgb320lQMC5rP7aEMAqxVZeG9WmFjet2G5vQ48tDhEJzzDhOpfvQyPehiWqLL6RUhNjE8+kpdK74P7oUFJVIuoQkUn2EuW9eUD9hV6z6tS60C0F4COdE/6DPnBySmqvjm9r9Sdfz1flCI2FXoV7MrrqrwLIx3OMtHmqmM9vGF1d2rGXRADVEGL+ldx9KvdfTLddXhWkCuHZil9YMvQLu0+gTK/g3V02Gh1/xrKmTa6v2RDqimCYDGKdHn0An+tQShYqk2JqJfzvPeysGS8lWfQePaEnHnf6niQN6h4078Ru5jH3D6AFjInrdPEOS3UZsbrJ//7hhUdiHONeQZcVcCVk7bvaJoanjjI9hJaPQXc72u81uyjlXaTOEj/znOAV92WyTaR62cT5r0GR+R7Jp214YR1IyAIB63zQVw2QCNi6W2HpyUEo3d2fOdJdaPwPQL52GxD/i3h4uGh1orYdRL4s/tdqwvYHklE2AGrEAboq2pIkmVirWH9+3+vRTnZ+fyoXD6dqDa0QvkN0pxEwmFy0IvbvTUA+0k6iplDVY21hqoid2OUpus+LjdXT2QALsY9OfMvMPdUaoFSTzWFm1jwZBPqlZN0="
+
# Note: OS X deps are maintained in .travis.sh until Travis supports it here.
addons:
apt:
diff --git a/README.md b/README.md
index 4913455..fa0f0f8 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
| HOMEPAGE | https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities |
| GIT | git clone git://anongit.gentoo.org/proj/pax-utils.git |
| VIEWVCS | https://gitweb.gentoo.org/proj/pax-utils.git/ |
-| STATUS | [![Build Status](https://travis-ci.org/gentoo/pax-utils.svg?branch=master)](https://travis-ci.org/gentoo/pax-utils) |
+| STATUS | [![Build Status](https://travis-ci.org/gentoo/pax-utils.svg?branch=master)](https://travis-ci.org/gentoo/pax-utils) [![Coverity Status](https://scan.coverity.com/projects/9213/badge.svg)](https://scan.coverity.com/projects/gentoo-pax-utils) |
pax-utils is a small set of utilities for peforming Q/A (mostly security)
checks on systems (most notably, `scanelf`). It is focused on the ELF
diff --git a/travis/main.sh b/travis/main.sh
index 58b4ddf..9c8c9c9 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="vapier@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() {
if [[ ${TRAVIS_OS_NAME} == "osx" ]] ; then
# Note: Linux deps are maintained in .travis.yml.
@@ -44,5 +65,9 @@ main() {
v ./configure
m V=1
fi
+
+ # 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 "$@"