Skip to content

Commit ac97a5f

Browse files
committed
Use cvmfs to fetch ROOT.
1 parent f0326ab commit ac97a5f

File tree

1 file changed

+47
-25
lines changed

1 file changed

+47
-25
lines changed

.travis.yml

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ addons: &addons
1111

1212
cache:
1313
apt: true
14-
ccache: true
14+
# ccache: true
1515
# directories:
1616
# - $BUILD_DEPS
1717

@@ -22,28 +22,43 @@ branches:
2222
- master
2323
- "*Travis*"
2424

25-
# Without the top-level env, no job will be allowed to fail.
26-
env:
27-
2825
matrix:
2926
include:
3027
# There seems to be a hard limit to how many machines a Travis build will
3128
# across all platforms. By interleaving OS X, the hope is to get in the
3229
# queue faster while not blocking Linux builds from occuring.
33-
- compiler: clang
30+
- compiler: gcc
3431
addons:
3532
apt:
3633
sources: *sources
3734
packages: ['lcov', 'cmake', 'libtbb-dev']
38-
env: COMPILER=g++ C_COMPILER=gcc BUILD_TYPE=Coverage
35+
env: CXX=g++ CC=gcc BUILD_TYPE=Debug EXTRA_OPTS="-DCoverage=On"
3936

4037
before_install:
41-
- |
42-
sudo add-apt-repository -y ppa:tsvetko.tsvetkov/trusty-backports && sudo apt-get update
43-
sudo apt-get install libgsl2
38+
- wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
39+
- sudo dpkg -i cvmfs-release-latest_all.deb
40+
- sudo apt-get update
41+
- sudo apt-get install cvmfs cvmfs-config-default
42+
- rm -f cvmfs-release-latest_all.deb
43+
- sudo mkdir -p /etc/cvmfs/
44+
- echo "CVMFS_REPOSITORIES=sft.cern.ch,projects.cern.ch" > default.local
45+
- echo "CVMFS_HTTP_PROXY=DIRECT" >> default.local
46+
- sudo mv default.local /etc/cvmfs/
47+
- sudo /etc/init.d/autofs stop
48+
- sudo cvmfs_config setup
49+
- sudo mkdir -p /cvmfs/sft-nightlies.cern.ch
50+
- sudo mount -t cvmfs sft-nightlies.cern.ch /cvmfs/sft-nightlies.cern.ch
51+
- ls /cvmfs/sft-nightlies.cern.ch
52+
# Install GSL 2.0
53+
# FIXME: We should have it somewhere in cvmfs.
54+
- sudo add-apt-repository -y ppa:tsvetko.tsvetkov/trusty-backports && sudo apt-get update
55+
- sudo apt-get install libgsl2
56+
4457
install:
4558
- |
46-
if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
59+
if [ "${EXTRA_OPTS}" == "-DCoverage=On" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
60+
export GCOV_PREFIX="$(pwd)/../ROOT-gcov/"
61+
export GCOV_PREFIX_STRIP=16
4762
PATH=~/.local/bin:${PATH};
4863
pip install --user --upgrade pip;
4964
pip install --user cpp-coveralls;
@@ -59,31 +74,38 @@ script:
5974
mkdir root
6075
d=$(date +%a)
6176
for i in `seq 1 7`; do
62-
ROOT_TAR=http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/nightlies/rootcov/$d/ROOT-HEAD_a512e-x86_64-ubuntu1404-gcc48-opt.tgz
63-
if curl -s -f --head $ROOT_TAR ; then
77+
ROOT_LOCATION=/cvmfs/sft-nightlies.cern.ch/lcg/nightlies/rootcov/$d/ROOT/
78+
ROOT_THISROOT=$ROOT_LOCATION/HEAD-a512e/x86_64-ubuntu1404-gcc48-opt/bin/thisroot.sh
79+
if ls $ROOT_THISROOT ; then
6480
break;
6581
fi
6682
d=$(date +%a -d "$d - 1 day")
6783
done;
6884
- |
6985
cd root
70-
echo "Downloading and untaring $ROOT_TAR" && echo -en "travis_fold:start:untar.ROOT"
71-
curl $ROOT_TAR | tar xvz > untar-details.log
72-
ls -la
73-
source ROOT/HEAD/x86_64-ubuntu1404-gcc48-opt/bin/thisroot.sh
86+
echo "Initializing ROOT $ROOT_THISROOT"
87+
source $ROOT_THISROOT
88+
which root
7489
cd $HOME_FOLDER
75-
echo -en "travis_fold:end:untar.ROOT"
90+
- mkdir $HOME_FOLDER/build
91+
- cd $HOME_FOLDER/build
92+
- cmake -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} \
93+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_CXX_FLAGS="${EXTRA_FLAGS}" \
94+
${EXTRA_OPTS} ../rootbench
95+
- cmake --build .
96+
- ctest -V --output-on-failure
97+
- #find $GCOV_PREFIX
98+
- #find $HOME_FOLDER
99+
100+
after_success:
101+
76102
- |
77-
if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
78-
mkdir $HOME_FOLDER/build
79-
cd $HOME_FOLDER/build
80-
cmake -Dcoverage=On ../rootbench
81-
cmake --build . && ctest -V --output-on-failure
82-
fi
103+
# FIXME: Figure out the right coveralls arguments to send the reports.
104+
#if [ "${EXTRA_OPTS}" == "-DCoverage=On" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
105+
# coveralls --exclude /usr/ --gcov-options '\-lp' --root $HOME_FOLDER/build --build-root $ROOT_LOCATION;
106+
#fi
83107
84108
on_failure:
85109
-|
86110
echo "Showing current directory contents"
87-
dpkg -L libgsl0-dev
88111
ls -la
89-
cat $HOME_FOLDER/root/untar-details.log

0 commit comments

Comments
 (0)