forked from iLCSoft/ConformalTracking
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
75 lines (66 loc) · 3.12 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
sudo: required
dist: trusty
services:
- docker
language: cpp
env:
matrix:
- COMPILER=gcc
- COMPILER=llvm
- COMPILER=format
before_install:
- wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
- sudo dpkg -i cvmfs-release-latest_all.deb
- sudo apt-get update
- sudo apt-get install cvmfs cvmfs-config-default
- rm -f cvmfs-release-latest_all.deb
- wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
- sudo mkdir -p /etc/cvmfs
- sudo mv default.local /etc/cvmfs/default.local
- sudo /etc/init.d/autofs stop
- sudo cvmfs_config setup
- sudo mkdir -p /cvmfs/clicdp.cern.ch
- sudo mkdir -p /cvmfs/geant4.cern.ch
- sudo mkdir -p /cvmfs/sft.cern.ch
- sudo mount -t cvmfs clicdp.cern.ch /cvmfs/clicdp.cern.ch
- sudo mount -t cvmfs geant4.cern.ch /cvmfs/geant4.cern.ch
- sudo mount -t cvmfs sft.cern.ch /cvmfs/sft.cern.ch
- ls /cvmfs/clicdp.cern.ch
- ls /cvmfs/geant4.cern.ch
- ls /cvmfs/sft.cern.ch/lcg
# command to install dependencies
install:
- shopt -s extglob dotglob
- mkdir Package
- mv !(Package) Package
- shopt -u dotglob
- export PKGDIR=${PWD}/Package
- export description=`date`
- export COVERITY_REPO=`echo ${TRAVIS_REPO_SLUG} | sed 's/\//\%2F/g'`
- if [[ "${TRAVIS_EVENT_TYPE}" == "cron" && "${COMPILER}" == "gcc" ]];
then wget --no-check-certificate 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=1;
fi
# command to run tests
script:
- docker run -it --name CI_container -v $PKGDIR:/Package -e COMPILER=$COMPILER -v /cvmfs:/cvmfs -d clicdp/cc7-lcg /bin/bash
- if [[ "${TRAVIS_EVENT_TYPE}" == "cron" && "${COMPILER}" == "gcc" ]];
then docker exec -it CI_container /bin/bash -c "./Package/.travis-ci.d/coverity_scan.sh";
elif [[ "${TRAVIS_EVENT_TYPE}" == "cron" ]];
then echo "Running the weekly Coverity Scan, no LLVM/Clang or format build this time";
elif [[ "${COMPILER}" == "format" ]];
then echo "Checking Format"; docker exec -it CI_container /bin/bash -c "./Package/.travis-ci.d/check_format.sh";
else docker exec -it CI_container /bin/bash -c "./Package/.travis-ci.d/compile_and_test.sh";
fi
- if [[ "${TRAVIS_EVENT_TYPE}" == "cron" && "${COMPILER}" == "gcc" ]];
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} ;
fi
# Trigger to rebuild iLCSoft
after_success:
- if [[ "${TRAVIS_EVENT_TYPE}" != "cron" && "${TRAVIS_EVENT_TYPE}" != "pull_request" && "${COMPILER}" == "gcc" && "${TRAVIS_REPO_SLUG%/*}" == "iLCSoft" && -z ${TRAVIS_TAG} ]];
then curl -X POST -F token=$GITLAB_TOKEN -F ref=master https://gitlab.cern.ch/api/v4/projects/7828/trigger/pipeline;
fi
# Don't send e-mail notifications
notifications:
email:
on_success: never
on_failure: always