Relocate Coverity scripts 07/6907/2
authorChris Luke <chrisy@flirble.org>
Mon, 29 May 2017 14:02:45 +0000 (10:02 -0400)
committerDave Wallace <dwallacelf@gmail.com>
Mon, 29 May 2017 22:30:44 +0000 (22:30 +0000)
- Move Coverity scripts from build-root/scripts to extras/scripts
- Update coverity-build with new path and add some comments

Change-Id: I1be8069fb574aaacbac9b7f2c9c80b9aad1790ec
Signed-off-by: Chris Luke <chrisy@flirble.org>
build-root/scripts/coverity-build.sh [deleted file]
extras/scripts/coverity-blame [moved from build-root/scripts/coverity-blame.sh with 100% similarity]
extras/scripts/coverity-build [new file with mode: 0755]

diff --git a/build-root/scripts/coverity-build.sh b/build-root/scripts/coverity-build.sh
deleted file mode 100755 (executable)
index 6e2c405..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/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!
diff --git a/extras/scripts/coverity-build b/extras/scripts/coverity-build
new file mode 100755 (executable)
index 0000000..81680f0
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+# FD.io VPP Coverity build script
+#
+# Builds VPP with the Coverity wrapper and if successful submits
+# it to the Coverity scan service for processing.
+#
+# Several environment variables are needed:
+#
+# COVERITY_TOKEN    The Coverity Scan API token for this project
+# COVERITY_TOOLS    The location of the Coverity tools
+#
+# The coverity tools can be fetched with:
+#   wget https://scan.coverity.com/download/linux64 \
+#     --post-data "token=${COVERITY_TOKEN}&project=fd.io+VPP" \
+#     -O coverity_tool.tgz
+
+set -ex
+
+token=${COVERITY_TOKEN}
+email=vpp-committers@lists.fd.io
+project="fd.io VPP"
+project_encoded="fd.io+VPP"
+url=https://scan.coverity.com
+
+# Cosmetic labels for the Coverity build logs
+export COV_HOST=$(hostname -f)
+export COV_USER=vpp
+
+# Work out where the root and build-root are
+script_dir=$(readlink -f $(dirname $0))
+root_dir=$(readlink -f "${script_dir}/../..")
+build_dir=$(readlink -f "${script_dir}/../../build-root")
+
+# Location for Coverity things
+covdir="${build_dir}/cov-int"
+COVERITY_TOOLS="${COVERITY_TOOLS-/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 "${root_dir}"
+"${COVERITY_TOOLS}/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!