From 8442ab42fb1ab920c148a2196cd6e1133de3cca4 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 7 Nov 2013 12:03:25 +0000 Subject: add script so CI system can run build and upload results to coverity --- utils/coverity-build.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 utils/coverity-build.sh diff --git a/utils/coverity-build.sh b/utils/coverity-build.sh new file mode 100755 index 000000000..3f2ce6734 --- /dev/null +++ b/utils/coverity-build.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Copyright © 2013 Vincent Sanders +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# * The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +# CI system coverity build and submission script +# +# Usage: coverity-build.sh +# + +# environment variables +# +# COVERITY_TOKEN +# COVERITY_USER +# JENKINS_HOME + +# We build for the Linux targets +ARTIFACT_TARGET=Linux +TARGETS="gtk framebuffer monkey" + +# setup build environment +export PREFIX=${JENKINS_HOME}/artifacts-${ARTIFACT_TARGET} +export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PREFIX}/lib +export PATH=${PATH}:${PREFIX}/bin + +# Coverity tools location +COVERITY_PREFIX=/opt/coverity/cov-analysis-linux64-6.6.1 +COVERITY_VERSION=$(git rev-parse HEAD) + +export PATH=${PATH}:${COVERITY_PREFIX}/bin + +# cleanup before we start +rm -rf cov-int/ covns.tar.gz covns.tar + +for TARGET in ${TARGETS}; do + make clean TARGET=${TARGET} +done + +# Do the builds using coverity data gathering tool +for TARGET in ${TARGETS}; do + cov-build --dir cov-int make CCACHE= TARGET=${TARGET} +done + +tar cf covns.tar cov-int + +gzip -9 covns.tar + +curl --form "project=NetSurf Browser" --form "token=${COVERITY_TOKEN}" --form "email=${COVERITY_USER}" --form "file=@covns.tar.gz" --form "version=${COVERITY_VERSION}" --form "description=Git Head build" http://scan5.coverity.com/cgi-bin/upload.py \ No newline at end of file -- cgit v1.2.3