forked from mirror/trompeloeil
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.
275 lines
7.1 KiB
YAML
275 lines
7.1 KiB
YAML
language: cpp
|
|
sudo: required
|
|
dist: trusty
|
|
|
|
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-trusty-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-trusty-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-trusty-7
|
|
packages:
|
|
- g++-6
|
|
- clang-7
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
env:
|
|
- COMPILER="clang++-7" SANITIZE=true
|
|
|
|
- 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: 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
|