Skip to content

Commit 2a95af2

Browse files
committed
coverity: update script
1 parent 8cee1ae commit 2a95af2

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

.travis-coverity-scan-build.sh

+22-11
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
#!/bin/sh
2+
# Modified coverity scan build script
3+
# Original script available at https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh
4+
# Additions (see corresponding sections below):
5+
# - Verify Coverity Scan run condition
6+
# - Verify Coverity Scan script test mode
7+
# - set TOOL_BASE to a writable directory with more than 1Gb free space
28

39
set -e
410

511
# Environment check
6-
echo -e "\033[33;1mNote: PROJECT_NAME and COVERITY_SCAN_TOKEN are available on Project Settings page on scan.coverity.com\033[0m"
12+
echo -e "\033[33;1mNote: COVERITY_SCAN_PROJECT_NAME and COVERITY_SCAN_TOKEN are available on Project Settings page on scan.coverity.com\033[0m"
713
[ -z "$COVERITY_SCAN_PROJECT_NAME" ] && echo "ERROR: COVERITY_SCAN_PROJECT_NAME must be set" && exit 1
8-
#[ -z "$COVERITY_SCAN_NOTIFICATION_EMAIL" ] && echo "ERROR: COVERITY_SCAN_NOTIFICATION_EMAIL must be set" && exit 1
14+
[ -z "$COVERITY_SCAN_NOTIFICATION_EMAIL" ] && echo "ERROR: COVERITY_SCAN_NOTIFICATION_EMAIL must be set" && exit 1
915
[ -z "$COVERITY_SCAN_BRANCH_PATTERN" ] && echo "ERROR: COVERITY_SCAN_BRANCH_PATTERN must be set" && exit 1
1016
[ -z "$COVERITY_SCAN_BUILD_COMMAND" ] && echo "ERROR: COVERITY_SCAN_BUILD_COMMAND must be set" && exit 1
1117
[ -z "$COVERITY_SCAN_TOKEN" ] && echo "ERROR: COVERITY_SCAN_TOKEN must be set" && exit 1
1218

1319
PLATFORM=`uname`
1420
TOOL_ARCHIVE=/tmp/cov-analysis-${PLATFORM}.tgz
1521
TOOL_URL=https://scan.coverity.com/download/${PLATFORM}
16-
TOOL_BASE=/tmp/coverity-scan-analysis
17-
UPLOAD_URL="http://scan5.coverity.com/cgi-bin/travis_upload.py"
22+
#TOOL_BASE=/tmp/coverity-scan-analysis
23+
TOOL_BASE=/home/travis/coverity-scan-analysis
24+
UPLOAD_URL="https://scan.coverity.com/builds"
1825
SCAN_URL="https://scan.coverity.com"
1926

2027
# Verify Coverity Scan run condition
@@ -54,7 +61,7 @@ else
5461
else
5562
WHEN=`echo $AUTH_RES | ruby -e "require 'rubygems'; require 'json'; puts JSON[STDIN.read]['next_upload_permitted_at']"`
5663
echo -e "\033[33;1mCoverity Scan analysis NOT authorized until $WHEN.\033[0m"
57-
exit 1
64+
exit 0
5865
fi
5966
fi
6067

@@ -83,13 +90,13 @@ COV_BUILD_OPTIONS=""
8390
RESULTS_DIR="cov-int"
8491
eval "${COVERITY_SCAN_BUILD_COMMAND_PREPEND}"
8592
COVERITY_UNSUPPORTED=1 cov-build --dir $RESULTS_DIR $COV_BUILD_OPTIONS $COVERITY_SCAN_BUILD_COMMAND
93+
cov-import-scm --dir $RESULTS_DIR --scm git --log $RESULTS_DIR/scm_log.txt 2>&1
8694

8795
# Upload results
8896
echo -e "\033[33;1mTarring Coverity Scan Analysis results...\033[0m"
8997
RESULTS_ARCHIVE=analysis-results.tgz
9098
tar czf $RESULTS_ARCHIVE $RESULTS_DIR
9199
SHA=`git rev-parse --short HEAD`
92-
#VERSION_SHA=$(cat VERSION)#$SHA
93100

94101
# Verify Coverity Scan script test mode
95102
if [ "$coverity_scan_script_test_mode" = true ]; then
@@ -98,14 +105,18 @@ if [ "$coverity_scan_script_test_mode" = true ]; then
98105
fi
99106

100107
echo -e "\033[33;1mUploading Coverity Scan Analysis results...\033[0m"
101-
curl \
102-
--progress-bar \
108+
response=$(curl \
109+
--silent --write-out "\n%{http_code}\n" \
103110
--form project=$COVERITY_SCAN_PROJECT_NAME \
104111
--form token=$COVERITY_SCAN_TOKEN \
105112
--form email=$COVERITY_SCAN_NOTIFICATION_EMAIL \
106113
--form file=@$RESULTS_ARCHIVE \
107114
--form version=$SHA \
108115
--form description="Travis CI build" \
109-
$UPLOAD_URL
110-
111-
# --form description="$VERSION_SHA" \
116+
$UPLOAD_URL)
117+
status_code=$(echo "$response" | sed -n '$p')
118+
if [ "$status_code" != "201" ]; then
119+
TEXT=$(echo "$response" | sed '$d')
120+
echo -e "\033[33;1mCoverity Scan upload failed: $TEXT.\033[0m"
121+
exit 1
122+
fi

0 commit comments

Comments
 (0)