2 # Coverity Scan Travis build script
3 # To run this interactively, set the environment variables yourself,
4 # and run this inside a docker container.
6 # Command-Line Arguments
8 # --skipdownload to skip re-downloading the Coverity Scan build package (large)
10 # Environment Variables (required)
12 # COVERITY_SCAN_NOTIFICATION_EMAIL - email address to notify
13 # COVERITY_SCAN_TOKEN - the Coverity Scan token (should be secure)
15 # Environment Variables (defaulted)
17 # COVERITY_SCAN_BUILD_COMMAND - defaults to "build/docker/scripts/autotools.sh"
18 # COVERITY_SCAN_DESCRIPTION - defaults to TRAVIS_BRANCH or "master" if empty
19 # COVERITY_SCAN_PROJECT - defaults to "thrift"
23 COVERITY_SCAN_BUILD_COMMAND
=${COVERITY_SCAN_BUILD_COMMAND:-build/docker/scripts/autotools.sh}
24 COVERITY_SCAN_DESCRIPTION
=${COVERITY_SCAN_DESCRIPTION:-${TRAVIS_BRANCH:-master}}
25 COVERITY_SCAN_PROJECT
=${COVERITY_SCAN_PROJECT:-thrift}
27 # download the coverity scan package
30 if [[ "$1" != "--skipdownload" ]]; then
31 rm -rf coverity_tool.tgz cov-analysis
*
32 wget https
://scan.coverity.com
/download
/linux64
--post-data "token=$COVERITY_SCAN_TOKEN&project=$COVERITY_SCAN_PROJECT" -O coverity_tool.tgz
33 tar xzf coverity_tool.tgz
35 COVBIN
=$
(echo $
(pwd)/cov-analysis
*/bin
)
36 export PATH
=$COVBIN:$PATH
39 # build the project with coverity scan
42 cov-build
--dir cov-int
$COVERITY_SCAN_BUILD_COMMAND
43 tar cJf cov-int.
tar.xz cov-int
/
44 curl
--form token
="$COVERITY_SCAN_TOKEN" \
45 --form email
="$COVERITY_SCAN_NOTIFICATION_EMAIL" \
46 --form file=@cov-int.
tar.xz \
47 --form version
="$(git describe --tags)" \
48 --form description
="$COVERITY_SCAN_DESCRIPTION" \
49 https
://scan.coverity.com
/builds?project
="$COVERITY_SCAN_PROJECT"