aboutsummaryrefslogtreecommitdiffstats
path: root/build-root/scripts/coverity-build.sh
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2017-01-04 17:24:32 -0500
committerDamjan Marion <dmarion.lists@gmail.com>2017-01-31 20:40:11 +0000
commit3ad7704fbb273440d649b96478e8e302d1285170 (patch)
tree477677a2dcbac3d8257faa2eaebc5e08a09b3524 /build-root/scripts/coverity-build.sh
parente1ae29a3f7a7bd79bb266803982fd0259b040922 (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/scripts/coverity-build.sh')
-rwxr-xr-xbuild-root/scripts/coverity-build.sh53
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!