diff options
-rwxr-xr-x | citools/jenkins-build.sh | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/citools/jenkins-build.sh b/citools/jenkins-build.sh index 90ac9b1..3ec0de6 100755 --- a/citools/jenkins-build.sh +++ b/citools/jenkins-build.sh @@ -29,7 +29,8 @@ # install - build and install # test-install - build, test and install # coverage - run coverage -# static - perform a staic anaysis +# static - perform a static analysis +# coverity - perform a coverity scan # TARGET must be in the environment and set correctly if [ "x${TARGET}" = "x" ];then @@ -51,6 +52,7 @@ TARGET_TEST= TARGET_INSTALL= TARGET_COVERAGE= TARGET_STATIC= +TARGET_COVERITY= TARGET_BUILD="release" # change defaults based on build parameter @@ -73,6 +75,13 @@ case "$1" in export CCACHE= ;; + "coverity") + TARGET_COVERITY=${TARGET} + TARGET_BUILD="debug" + # need to disable ccache on coverity builds + export CCACHE= + ;; + "test-install") # Perfom test if being executed on native target TARGET_TEST=${NATIVE_TARGET} @@ -94,7 +103,8 @@ Usage: jenkins-build.sh [install|test-install|coverage|static] install build and install test-install build, test and install coverage run coverage - static perform a staic anaysis + static perform a static anaysis + coverity perform a coverity scan EOF exit 1 ;; @@ -149,6 +159,30 @@ elif [ "x${TARGET}" = "x${TARGET_STATIC}" ]; then # clean up after make Q= clean TARGET=${TARGET_TARGET} BUILD=${TARGET_BUILD} +elif [ "x${TARGET}" = "x${TARGET_COVERITY}" ]; then + # coverity build + + # COVERITY_TOKEN + # COVERITY_USER + # COVERITY_PREFIX + + # Coverity tools location + COVERITY_PREFIX=${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/ coverity-scan.tar.gz coverity-scan.tar + + cov-build --dir cov-int make Q= clean TARGET=${TARGET_TARGET} BUILD=${TARGET_BUILD} + + tar cf coverity-scan.tar + + gzip -9 coverity-scan.tar + + curl --form "project=NetSurf" --form "token=${COVERITY_TOKEN}" --form "email=${COVERITY_USER}" --form "file=@coverity-scan.tar.gz" --form "version=${COVERITY_VERSION}" --form "description=Git Head build" http://scan5.coverity.com/cgi-bin/upload.py + else # Normal build make Q= TARGET=${TARGET_TARGET} BUILD=${TARGET_BUILD} |