Skip to content

Commit 78079f0

Browse files
author
Marko Petric
committed
Coverity integration
1 parent 56234dc commit 78079f0

File tree

3 files changed

+47
-4
lines changed

3 files changed

+47
-4
lines changed

.travis-ci.d/coverity_scan.sh

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
ILCSOFT=/cvmfs/clicdp.cern.ch/iLCSoft/builds/current/CI_${COMPILER}
4+
source $ILCSOFT/init_ilcsoft.sh
5+
6+
cd /Package
7+
mkdir build
8+
cd build
9+
cmake -C $ILCSOFT/ILCSoft.cmake -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always" .. && \
10+
export PATH=/Package/cov-analysis-linux64/bin:$PATH && \
11+
cov-build --dir cov-int make -j2 && \
12+
tar czvf myproject.tgz cov-int

.travis.yml

+34-4
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,50 @@ env:
1111
- COMPILER=gcc
1212
- COMPILER=llvm
1313

14+
15+
before_install:
16+
- wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
17+
- sudo dpkg -i cvmfs-release-latest_all.deb
18+
- sudo apt-get update
19+
- sudo apt-get install cvmfs cvmfs-config-default
20+
- rm -f cvmfs-release-latest_all.deb
21+
- wget https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
22+
- sudo mkdir -p /etc/cvmfs
23+
- sudo mv default.local /etc/cvmfs/default.local
24+
- sudo /etc/init.d/autofs stop
25+
- sudo cvmfs_config setup
26+
- sudo mkdir -p /cvmfs/clicdp.cern.ch
27+
- sudo mount -t cvmfs clicdp.cern.ch /cvmfs/clicdp.cern.ch
28+
- ls /cvmfs/clicdp.cern.ch
29+
1430
# command to install dependencies
1531
install:
1632
- shopt -s extglob dotglob
1733
- mkdir Package
1834
- mv !(Package) Package
1935
- shopt -u dotglob
2036
- export PKGDIR=${PWD}/Package
21-
- curl -O https://lcd-data.web.cern.ch/lcd-data/CernVM/cernvm3-docker-latest.tar
22-
- cat cernvm3-docker-latest.tar | docker import - cernvm
37+
- export description=`date`
38+
- export COVERITY_REPO=`echo ${TRAVIS_REPO_SLUG} | sed 's/\//\%2F/g'`
39+
- if [[ "${TRAVIS_EVENT_TYPE}" == "cron" && "${COMPILER}" == "gcc" ]];
40+
then wget https://scan.coverity.com/download/linux64 --post-data "token=${COVERITY_SCAN_TOKEN}&project=${COVERITY_REPO}" -O Package/coverity_tool.tgz; cd Package; mkdir cov-analysis-linux64; tar -xf coverity_tool.tgz -C cov-analysis-linux64 --strip-components=2;
41+
fi
2342

2443
# command to run tests
2544
script:
26-
- docker run -t -v $PKGDIR:/Package -e COMPILER=$COMPILER cernvm /init /Package/.travis-ci.d/compile_and_test.sh
45+
- docker run -it --name CI_container -v $PKGDIR:/Package -e COMPILER=$COMPILER -v /cvmfs/clicdp.cern.ch:/cvmfs/clicdp.cern.ch -d clicdp/slc6-build /bin/bash
46+
- if [[ "${TRAVIS_EVENT_TYPE}" == "cron" && "${COMPILER}" == "gcc" ]];
47+
then docker exec -it CI_container /bin/bash -c "./Package/.travis-ci.d/coverity_scan.sh";
48+
elif [[ "${TRAVIS_EVENT_TYPE}" == "cron" && "${COMPILER}" == "llvm" ]];
49+
then echo "Running the weekly Coverity Scan, no LLVM/Clang build this time";
50+
else docker exec -it CI_container /bin/bash -c "./Package/.travis-ci.d/compile_and_test.sh";
51+
fi
52+
- if [[ "${TRAVIS_EVENT_TYPE}" == "cron" && "${COMPILER}" == "gcc" ]];
53+
then curl --form token=${COVERITY_SCAN_TOKEN} --form [email protected] --form file=@${PKGDIR}/build/myproject.tgz --form version="master" --form description="${description}" https://scan.coverity.com/builds?project=${COVERITY_REPO} ;
54+
fi
2755

2856
# Don't send e-mail notifications
2957
notifications:
30-
email: false
58+
email:
59+
on_success: never
60+
on_failure: always

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# MarlinTrkProcessors
22
[![Build Status](https://travis-ci.org/iLCSoft/MarlinTrkProcessors.svg?branch=master)](https://travis-ci.org/iLCSoft/MarlinTrkProcessors)
3+
[![Coverity Scan Build Status](https://scan.coverity.com/projects/12365/badge.svg)](https://scan.coverity.com/projects/ilcsoft-marlintrkprocessors)
34

45
A collection of Tracking Relelated Processors Based on MarlinTrk
56

0 commit comments

Comments
 (0)