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.
486 lines
12 KiB
YAML
486 lines
12 KiB
YAML
|
|
language: python
|
|
python:
|
|
- 3.7
|
|
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 CXX_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 CXX_STDLIB="libc++" CXX_STANDARD="17" CONAN_COMPILER=clang CC_VERSION=8
|
|
|
|
- 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 CXX_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 CONAN_COMPILER=gcc CC_VERSION=4.9
|
|
|
|
- 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++-5
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
env:
|
|
- COMPILER="g++-5" SANITIZE=true CXX_STANDARD="17"
|
|
|
|
- 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++-6
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
env:
|
|
- COMPILER="g++-6" SANITIZE=true CXX_STANDARD=17
|
|
|
|
- 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++-7
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
env:
|
|
- COMPILER="g++-7" 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
|
|
|
|
- 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 CONAN_COMPILER=gcc CC_VERSION=9.3
|
|
|
|
- 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
|
|
- libc++-8-dev
|
|
- libc++abi-8-dev
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
env:
|
|
- COMPILER="g++-9" SANITIZE=false CXX_STANDARD="17" CXX_STDLIB="libc++"
|
|
|
|
- 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
|
|
language: c++
|
|
osx_image: xcode12
|
|
compiler: clang
|
|
env:
|
|
- COMPILER="clang++" SANITIZE=false
|
|
|
|
- os: osx
|
|
language: c++
|
|
osx_image: xcode11
|
|
compiler: clang
|
|
env:
|
|
- COMPILER="clang++" SANITIZE=false CONAN_COMPILER=apple-clang CC_VERSION=11.0 CC_LIBCXX=libc++
|
|
|
|
- os: osx
|
|
language: c++
|
|
osx_image: xcode10.3
|
|
compiler: clang
|
|
env:
|
|
- COMPILER="clang++" SANITIZE=false
|
|
|
|
- os: osx
|
|
language: c++
|
|
osx_image: xcode9.3
|
|
compiler: clang
|
|
env:
|
|
- COMPILER="clang++" SANITIZE=false CONAN_COMPILER=apple-clang CC_VERSION=9.1 CC_LIBCXX=libc++
|
|
|
|
|
|
install:
|
|
- |
|
|
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
|
|
which cmake || brew install cmake
|
|
which pip3 || brew upgrade python@3 || brew upgrade python@3 || true
|
|
fi
|
|
pip3 install conan
|
|
|
|
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 ;
|
|
}
|
|
- |
|
|
if [[ ! -z "${CONAN_COMPILER}" ]]; then
|
|
conan --version
|
|
export CC_LIBCXX=${CC_LIBCXX:-libstdc++11} # Default to GCC
|
|
conan create \
|
|
-e CXX=${COMPILER} \
|
|
-s compiler=${CONAN_COMPILER} \
|
|
-s compiler.version=${CC_VERSION} \
|
|
-s compiler.libcxx=${CC_LIBCXX} \
|
|
. testuser/testchannel
|
|
fi
|
|
- mkdir build && cd build
|
|
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DCXX_STANDARD="${CXX_STANDARD}" -DCXX_STDLIB="${CXX_STDLIB}" -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=${SANITIZE} ..
|
|
- make VERBOSE=1 self_test
|
|
- make VERBOSE=1 custom_recursive_mutex
|
|
|
|
script:
|
|
make run_self_test
|
|
|
|
after_success:
|
|
- |
|
|
if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
|
|
make VERBOSE=1 run_coverage
|
|
fi
|