You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trompeloeil/.travis.yml

417 lines
10 KiB
YAML

language: cpp
dist: xenial
matrix:
include:
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
- ppa:george-edison55/cmake-3.x
packages:
- g++-6
- clang-3.7
- llvm-3.7-runtime
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-3.7"
before_script:
# The clang runtime for the address sanitizer is missing from the
# apt, hence the downloaded tarballs.
- wget http://releases.llvm.org/3.7.1/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- tar -xvf clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- sudo cp -n clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/lib/clang/3.7.1/lib/linux/*.a /usr/lib/llvm-3.7/lib/clang/3.7.1/lib/linux/
- CXX=${COMPILER} ./check_errors.sh ||
{
FAILURES="$?" ;
echo "Expected zero failures from check_errors.sh, got ${FAILURES}" ;
exit 1 ;
}
- mkdir build && cd build
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true ..
- make -j 4 VERBOSE=1 self_test kcov
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-3.8
packages:
- g++-6
- clang-3.8
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-3.8" CXXFLAGS="-std=c++14" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.9
packages:
- g++-6
- clang-3.9
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-3.9"
before_script:
# Unlike with clang++-3.7, the runtime libraries exists with 3.9,
# but still doesn't work because of gold linker version incompatibility.
# The tarball download takes care of that.
- wget http://releases.llvm.org/3.9.1/clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- tar -xvf clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz
- sudo cp clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04/lib/clang/3.9.1/lib/linux/*.a /usr/lib/llvm-3.9/lib/clang/3.9.1/lib/linux/
- CXX=${COMPILER} ./check_errors.sh ||
{
FAILURES="$?" ;
echo "Expected zero failures from check_errors.sh, got ${FAILURES}" ;
exit 1 ;
}
- mkdir build && cd build
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true ..
- make -j 4 VERBOSE=1 self_test kcov
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-4.0
packages:
- g++-6
- clang-4.0
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-4.0" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-5.0
packages:
- g++-6
- clang-5.0
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-5.0" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-6.0
packages:
- g++-6
- clang-6.0
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-6.0" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-7
packages:
- g++-6
- clang-7
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-7" SANITIZE=false
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
packages:
- g++-6
- clang-8
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-8" SANITIZE=false
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
packages:
- g++-6
- clang-8
- libc++-8-dev
- libc++abi-8-dev
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-8" SANITIZE=false CXXFLAGS="-stdlib=libc++"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
packages:
- g++-6
- clang-8
- libc++-8-dev
- libc++abi-8-dev
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-8" SANITIZE=false CXXFLAGS="-stdlib=libc++" CXX_STANDARD="17"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
packages:
- g++-6
- clang-8
- libc++-8-dev
- libc++abi-8-dev
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="clang++-8" SANITIZE=false CXXFLAGS="-stdlib=libc++" CXX_STANDARD="20"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-4.8" CXXFLAGS="-std=c++11" CXX_STANDARD="11" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-4.9" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-5" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-6" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-7" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-8" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-8" SANITIZE=true CXX_STANDARD="17"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-8" SANITIZE=true CXX_STANDARD="20"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-9
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-9" SANITIZE=true
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-9
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-9" SANITIZE=true CXX_STANDARD="17"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-9
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
env:
- COMPILER="g++-9" SANITIZE=true CXX_STANDARD="20"
- os: osx
osx_image: xcode11
compiler: clang
env:
- COMPILER="clang++" SANITIZE=false
- os: osx
osx_image: xcode10.3
compiler: clang
env:
- COMPILER="clang++" SANITIZE=false
- os: osx
osx_image: xcode9
compiler: clang
env:
- COMPILER="clang++" SANITIZE=false
- os: osx
osx_image: xcode8
compiler: clang
env:
- COMPILER="clang++" SANITIZE=false
- os: osx
osx_image: xcode7.3
compiler: clang
env:
- COMPILER="clang++" SANITIZE=false
install:
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
which cmake || brew install cmake
fi
before_script:
- CXX=${COMPILER} CXXFLAGS=${CXXFLAGS} ./check_errors.sh ||
{
FAILURES="$?" ;
if [[ ${CXX_STANDARD} == "11" ]]; then
if [[ ${FAILURES} != "4" ]]; then
echo "Expected four failures from C++11 check_errors.sh, got ${FAILURES}" ;
exit 1 ;
fi ;
else
echo "Expected zero failures from check_errors.sh, got ${FAILURES}" ;
exit 1 ;
fi ;
}
- mkdir build && cd build
- CXX=${COMPILER} cmake -DCXX_STANDARD="${CXX_STANDARD}" -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=${SANITIZE} ..
- make VERBOSE=1 self_test
script:
make run_self_test
after_success:
- |
if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
make VERBOSE=1 run_coverage
fi