diff options
author | Dave Barach <dave@barachs.net> | 2017-01-04 17:24:32 -0500 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2017-01-31 20:40:11 +0000 |
commit | 3ad7704fbb273440d649b96478e8e302d1285170 (patch) | |
tree | 477677a2dcbac3d8257faa2eaebc5e08a09b3524 /build-root | |
parent | e1ae29a3f7a7bd79bb266803982fd0259b040922 (diff) |
Prep work for Coverity upload processing via Jenkins
Change-Id: I2575d780d19e12ddf8a77e5596e5d7cc3dbf4233
Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'build-root')
-rwxr-xr-x | build-root/scripts/coverity-build.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/build-root/scripts/coverity-build.sh b/build-root/scripts/coverity-build.sh new file mode 100755 index 00000000000..6e2c405a16a --- /dev/null +++ b/build-root/scripts/coverity-build.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +set -ex + +token=${COVERITY_TOKEN} +email=dbarach@cisco.com +project="fd.io VPP" +project_encoded="fd.io+VPP" +url=https://scan.coverity.com + +export COV_HOST=$(hostname -f) +export COV_USER=vpp + +# Location of various directories + +# run script from .../build-root + +build_dir=`pwd` +covdir="${build_dir}/cov-int" +COVTOOLS="${COVTOOLS-/scratch/cov-analysis-latest}" + +# Before we run the build, check that we can submit one +check=$(curl -s --form project="${project}" \ + --form token="${token}" "${url}/api/upload_permitted") +if [ "${check}" = "Access denied" ]; then + echo "Bad token or project name." + exit 1 +fi +if [ "${check}" != '{"upload_permitted":true}' ]; then + echo "Upload not permitted; stop now..." + exit 1 +fi + +version=$(git describe) + +# Run the build +cd .. +"${COVTOOLS}/bin/cov-build" --dir "${covdir}" make bootstrap build-coverity +cd ${build_dir} + +# Tar the build artifacts that scan wants +tar -czf fd.io-vpp.tgz "$(basename ${covdir})" +# rm -rf "${covdir}" + +# Submit the build +echo curl --form token="${token}" \ + --form email="${email}" \ + --form file=@fd.io-vpp.tgz \ + --form version="${version}" \ + --form description="master:${version}" \ + "${url}/builds?project=${project_encoded}" + +# All done! |