Travis: Changes to build an expanded matrix.
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
This commit is contained in:
parent
abbd7814d5
commit
3b98a00ffe
261
.travis.yml
261
.travis.yml
@ -1,11 +1,6 @@
|
|||||||
language: cpp
|
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
|
language: cpp
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
apt: true
|
apt: true
|
||||||
@ -21,13 +16,8 @@ env:
|
|||||||
- CCACHE_MAXSIZE=500M
|
- CCACHE_MAXSIZE=500M
|
||||||
- CCACHE_CPP2=1
|
- CCACHE_CPP2=1
|
||||||
- TIMEOUT=0
|
- TIMEOUT=0
|
||||||
- EXECUTE_COMMAND=
|
|
||||||
- CXX_COMPILER=
|
|
||||||
- CC_COMPILER=
|
|
||||||
- COMPILER_VERSION=
|
|
||||||
- secure: "DQSDJnYWR7kb2ylcE1e4GIfP9KJadHjG696HelK09zmsTJiRoxg2HhDnm3gHkrPh18AxYJAMW1rZHm0ZsnBKpS09NxOcPVseL+z3iWfBFpgCa2ueUMKHy/YBhNghmLOXVeQzGwol6iCU5xbO4ZMJHpytmQCH6Vm9ws7sg8kiatY="
|
- secure: "DQSDJnYWR7kb2ylcE1e4GIfP9KJadHjG696HelK09zmsTJiRoxg2HhDnm3gHkrPh18AxYJAMW1rZHm0ZsnBKpS09NxOcPVseL+z3iWfBFpgCa2ueUMKHy/YBhNghmLOXVeQzGwol6iCU5xbO4ZMJHpytmQCH6Vm9ws7sg8kiatY="
|
||||||
|
|
||||||
|
|
||||||
# Do not build our sync branch.
|
# Do not build our sync branch.
|
||||||
branches:
|
branches:
|
||||||
except:
|
except:
|
||||||
@ -35,7 +25,6 @@ branches:
|
|||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
|
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
# Abort all builds on a single failing matrix entry.
|
# Abort all builds on a single failing matrix entry.
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
@ -47,62 +36,145 @@ matrix:
|
|||||||
- os: linux
|
- os: linux
|
||||||
|
|
||||||
include:
|
include:
|
||||||
|
|
||||||
# 1. Linux Clang Builds
|
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang
|
env: DIST=pangolin COMPILER=g++-4.7 CCOMPILER=gcc-4.7
|
||||||
addons: &clang37
|
|
||||||
apt:
|
|
||||||
sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test']
|
|
||||||
packages: ['clang-3.7', '^libc\+\+-dev']
|
|
||||||
env: CXX_COMPILER='clang++' CC_COMPILER='clang' COMPILER_VERSION='-3.7' BUILD_TYPE='Release'
|
|
||||||
|
|
||||||
# 2. Linux GCC Builds
|
|
||||||
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
addons: &gcc49
|
|
||||||
apt:
|
|
||||||
sources: ['ubuntu-toolchain-r-test']
|
|
||||||
packages: ['g++-4.9']
|
|
||||||
env: CXX_COMPILER='g++' CC_COMPILER='gcc' COMPILER_VERSION='-4.9' BUILD_TYPE='Release'
|
|
||||||
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
#addons: *gcc49
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources: ['ubuntu-toolchain-r-test']
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
packages: ['binutils-gold']
|
packages: ['g++-4.7']
|
||||||
|
compiler: gcc-4.7
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=pangolin COMPILER=g++-4.8 CCOMPILER=gcc-4.8
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-4.8']
|
||||||
|
compiler: gcc-4.8
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=pangolin COMPILER=g++-4.9 CCOMPILER=gcc-4.9
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-4.9']
|
||||||
|
compiler: gcc-4.9
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=pangolin COMPILER=g++-5 CCOMPILER=gcc-5
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-5']
|
||||||
|
compiler: gcc-5
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=pangolin COMPILER=g++-6 CCOMPILER=gcc-6
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-6']
|
||||||
|
compiler: gcc-6
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=trusty COMPILER=g++-4.7 CCOMPILER=gcc-4.7
|
||||||
sudo: required
|
sudo: required
|
||||||
dist: trusty
|
dist: trusty
|
||||||
env: CXX_COMPILER='g++' CC_COMPILER='gcc' COMPILER_VERSION='-4.8' BUILD_TYPE='Release'
|
addons:
|
||||||
TIMEOUT=2400 EXECUTE_COMMAND="sudo ln -s `which gold` /usr/local/bin/ld"
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-4.7']
|
||||||
|
compiler: gcc-4.7
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=trusty COMPILER=g++-4.8 CCOMPILER=gcc-4.8
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-4.8']
|
||||||
|
compiler: gcc-4.8
|
||||||
|
|
||||||
# 3. OSX Clang Builds
|
- os: linux
|
||||||
|
env: DIST=trusty COMPILER=g++-4.9 CCOMPILER=gcc-4.9
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-4.9']
|
||||||
|
compiler: gcc-4.9
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=trusty COMPILER=g++-5 CCOMPILER=gcc-5
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-5']
|
||||||
|
compiler: gcc-5
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: DIST=trusty COMPILER=g++-6 CCOMPILER=gcc-6
|
||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test']
|
||||||
|
packages: ['g++-6']
|
||||||
|
compiler: gcc-6
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: CXXLIB=libstdc++ COMPILER=clang++-3.7 CCOMPILER=clang-3.7
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.7']
|
||||||
|
packages: ['clang-3.7', 'libstdc++-5-dev']
|
||||||
|
compiler: clang-3.7
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: CXXLIB=libstdc++ COMPILER=clang++-3.8 CCOMPILER=clang-3.8
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.8']
|
||||||
|
packages: ['clang-3.8', 'libstdc++-6-dev']
|
||||||
|
compiler: clang-3.8
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
|
env: COMPILER=clang++ CCOMPILER=clang
|
||||||
|
osx_image: xcode6.4
|
||||||
compiler: clang
|
compiler: clang
|
||||||
|
|
||||||
|
- os: osx
|
||||||
|
env: COMPILER=clang++ CCOMPILER=clang
|
||||||
|
osx_image: xcode7
|
||||||
|
compiler: clang
|
||||||
|
|
||||||
|
- os: osx
|
||||||
|
env: COMPILER=clang++ CCOMPILER=clang
|
||||||
|
osx_image: xcode7.1
|
||||||
|
compiler: clang
|
||||||
|
|
||||||
|
- os: osx
|
||||||
|
env: COMPILER=clang++ CCOMPILER=clang
|
||||||
osx_image: xcode7.2
|
osx_image: xcode7.2
|
||||||
env: CXX_COMPILER='clang++' CC_COMPILER='clang' BUILD_TYPE='Release'
|
compiler: clang
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang
|
env: COMPILER=clang++ CCOMPILER=clang
|
||||||
osx_image: xcode7.3
|
osx_image: xcode7.3
|
||||||
env: CXX_COMPILER='clang++' CC_COMPILER='clang' BUILD_TYPE='Release'
|
compiler: clang
|
||||||
|
|
||||||
|
- os: osx
|
||||||
|
env: COMPILER=clang++ CCOMPILER=clang
|
||||||
|
osx_image: xcode8
|
||||||
|
compiler: clang
|
||||||
|
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- os: osx
|
# clang-3.5 crashes compiling clang-3.9 with libc++-3.9
|
||||||
# libc++-dev is not whitelisted yet (https://github.com/travis-ci/apt-package-whitelist/issues/3266)
|
- env: CXXLIB=libc++ COMPILER=clang++-3.5 CCOMPILER=clang-3.5
|
||||||
# The build falls back to an old version and fails.
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
# There are linker failures, which need to be further understood.
|
|
||||||
- os: linux
|
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
# If cmake is not in the cache, download it.
|
# If cmake is not in the cache, download it.
|
||||||
@ -114,14 +186,18 @@ install:
|
|||||||
CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.0-Linux-x86_64.tar.gz"
|
CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.0-Linux-x86_64.tar.gz"
|
||||||
export CMAKE=$CLING_BUILD_DEPS/cmake/bin/cmake
|
export CMAKE=$CLING_BUILD_DEPS/cmake/bin/cmake
|
||||||
elif [ $TRAVIS_OS_NAME == 'osx' ] ; then
|
elif [ $TRAVIS_OS_NAME == 'osx' ] ; then
|
||||||
|
brew install ccache python
|
||||||
CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.0-Darwin-x86_64.tar.gz"
|
CMAKE_URL="https://cmake.org/files/v3.6/cmake-3.6.0-Darwin-x86_64.tar.gz"
|
||||||
export CMAKE=$CLING_BUILD_DEPS/cmake/CMake.app/Contents/bin/cmake
|
export CMAKE=$CLING_BUILD_DEPS/cmake/CMake.app/Contents/bin/cmake
|
||||||
brew install ccache python
|
|
||||||
PATH=/usr/local/opt/ccache/libexec:$PATH
|
PATH=/usr/local/opt/ccache/libexec:$PATH
|
||||||
# Try to workaround travis-ci/travis-ci#6410 by
|
# Try to workaround travis-ci/travis-ci#6410 by
|
||||||
# introducing a timeout fulction, which will timeout before the builder,
|
# introducing a timeout fulction, which will timeout before the builder,
|
||||||
# returning a 'fake' success (eg. 0), tricking it to store the cache.
|
# returning a 'fake' success (eg. 0), tricking it to store the cache.
|
||||||
TIMEOUT=2400
|
fi
|
||||||
|
|
||||||
|
# Containers need to timeout before the buildscript exists
|
||||||
|
if [ $TRAVIS_OS_NAME == 'osx' ] || [ "$DIST" == "trusty" ]; then
|
||||||
|
TIMEOUT=2500 # Any more and Travis might cancel
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Implement a platform-independent timeout function.
|
# Implement a platform-independent timeout function.
|
||||||
@ -133,22 +209,9 @@ install:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- |
|
- $CMAKE --version
|
||||||
# Get the real paths of the compilers, before overriding it.
|
- export CXX="ccache $COMPILER"
|
||||||
REAL_CXX=$(which $CXX_COMPILER$COMPILER_VERSION)
|
- export CC="ccache $CCOMPILER"
|
||||||
REAL_CC=$(which $CC_COMPILER$COMPILER_VERSION)
|
|
||||||
|
|
||||||
echo "Making $CXX_COMPILER$COMPILER_VERSION and $CC_COMPILER$COMPILER_VERSION default."
|
|
||||||
mkdir -pv $CLING_LOCAL_BIN
|
|
||||||
|
|
||||||
echo -e "#!/bin/bash\nccache $REAL_CXX \"\$@\"" > $CLING_LOCAL_BIN/$CXX_COMPILER
|
|
||||||
echo -e "#!/bin/bash\nccache $REAL_CC \"\$@\"" > $CLING_LOCAL_BIN/$CC_COMPILER
|
|
||||||
|
|
||||||
chmod +x $CLING_LOCAL_BIN/$CXX_COMPILER
|
|
||||||
chmod +x $CLING_LOCAL_BIN/$CC_COMPILER
|
|
||||||
|
|
||||||
- export PATH=$CLING_LOCAL_BIN:$PATH
|
|
||||||
- eval $EXECUTE_COMMAND
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
@ -164,8 +227,14 @@ script:
|
|||||||
tools/packaging/cpt.py --tarball-tag=$TRAVIS_TAG --with-cling-url=https://github.com/$TRAVIS_REPO_SLUG
|
tools/packaging/cpt.py --tarball-tag=$TRAVIS_TAG --with-cling-url=https://github.com/$TRAVIS_REPO_SLUG
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Convert the timeout exit code to 0.
|
### Fail if build not complete, but mark it as such for later
|
||||||
RESULT=$?; if [ $RESULT -eq 0 ] || [ $RESULT -eq 142 ]; then true; else false; fi;
|
RESULT=$?
|
||||||
|
if [ $RESULT -ne 0 ]; then
|
||||||
|
if [ $RESULT -eq 142 ]; then
|
||||||
|
export CLING_BUILD_TIMEOUT=1
|
||||||
|
fi
|
||||||
|
exit $RESULT
|
||||||
|
fi
|
||||||
|
|
||||||
- ccache -s
|
- ccache -s
|
||||||
|
|
||||||
@ -204,28 +273,38 @@ deploy:
|
|||||||
|
|
||||||
after_failure:
|
after_failure:
|
||||||
- |
|
- |
|
||||||
echo "Dumping env."
|
if [ "$CLING_BUILD_TIMEOUT" != "1" ]; then
|
||||||
find $CLING_LOCAL_BIN -type f -print0 -exec cat {} \;
|
echo "Dumping env."
|
||||||
$CMAKE --version
|
find $CLING_LOCAL_BIN -type f -print0 -exec cat {} \;
|
||||||
$CC --version
|
$CMAKE --version
|
||||||
$CXX --version
|
$CC --version
|
||||||
ls -al `which ld` && ld -v
|
$CXX --version
|
||||||
export
|
ls -al `which ld` && ld -v
|
||||||
|
export
|
||||||
|
fi
|
||||||
- |
|
- |
|
||||||
echo "Dumping CMakeOutput.log"
|
if [ "$CLING_BUILD_TIMEOUT" != "1" ]; then
|
||||||
cat /home/travis/ci/build/builddir/CMakeFiles/CMakeOutput.log
|
echo "Dumping CMakeOutput.log"
|
||||||
|
cat /home/travis/ci/build/builddir/CMakeFiles/CMakeOutput.log
|
||||||
|
fi
|
||||||
- |
|
- |
|
||||||
echo "Dumping CMakeError.log"
|
if [ "$CLING_BUILD_TIMEOUT" != "1" ]; then
|
||||||
cat /home/travis/ci/build/builddir/CMakeFiles/CMakeError.log
|
echo "Dumping CMakeError.log"
|
||||||
|
cat /home/travis/ci/build/builddir/CMakeFiles/CMakeError.log
|
||||||
|
fi
|
||||||
- |
|
- |
|
||||||
echo "Dumping cling-compiledata.h..."
|
if [ "$CLING_BUILD_TIMEOUT" != "1" ]; then
|
||||||
COMPILE_DATA_H=$HOME/ci/build/builddir/tools/cling/lib/Interpreter/cling-compiledata.h
|
echo "Dumping cling-compiledata.h..."
|
||||||
cat $COMPILE_DATA_H
|
COMPILE_DATA_H=$HOME/ci/build/builddir/tools/cling/lib/Interpreter/cling-compiledata.h
|
||||||
|
cat $COMPILE_DATA_H
|
||||||
|
|
||||||
echo "Running cling-compiledata compiler..."
|
echo "Running cling-compiledata compiler..."
|
||||||
COMPDATA_CXX=$(cat $COMPILE_DATA_H | cut -c 18- | sed "s,\",,g")
|
COMPDATA_CXX=$(cat $COMPILE_DATA_H | cut -c 18- | sed "s,\",,g")
|
||||||
eval echo | LC_ALL=C $COMPDATA_CXX -xc++ -E -v -
|
eval echo | LC_ALL=C $COMPDATA_CXX -xc++ -E -v -
|
||||||
|
fi
|
||||||
- |
|
- |
|
||||||
echo "Dumping `which ccache`"
|
if [ "$CLING_BUILD_TIMEOUT" != "1" ]; then
|
||||||
ccache -s
|
echo "Dumping `which ccache`"
|
||||||
ls -la /usr/lib/ccache/ || ls -la /usr/local/opt/ccache/libexec
|
ccache -s
|
||||||
|
ls -la /usr/lib/ccache/ || ls -la /usr/local/opt/ccache/libexec
|
||||||
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user