| language: cpp |
| dist: xenial |
| env: |
| global: |
| - JOB_NAME=limited-build |
| - WAF_JOBS=2 |
| |
| matrix: |
| include: |
| # Linux/gcc |
| # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages |
| - os: linux |
| env: COMPILER=g++-5 |
| - os: linux |
| env: COMPILER=g++-6 |
| - os: linux |
| env: COMPILER=g++-7 |
| - os: linux |
| env: COMPILER=g++-8 |
| - os: linux |
| env: COMPILER=g++-9 |
| |
| # Linux/clang |
| # https://apt.llvm.org/ |
| - os: linux |
| env: COMPILER=clang++-3.8 |
| - os: linux |
| env: COMPILER=clang++-3.9 |
| - os: linux |
| env: COMPILER=clang++-4.0 |
| - os: linux |
| env: COMPILER=clang++-5.0 |
| - os: linux |
| env: COMPILER=clang++-6.0 |
| # temporarily disable AddressSanitizer on clang-7 and later |
| # due to https://bugs.llvm.org/show_bug.cgi?id=40808 |
| - os: linux |
| env: COMPILER=clang++-7 DISABLE_ASAN=yes |
| - os: linux |
| env: COMPILER=clang++-8 DISABLE_ASAN=yes |
| - os: linux |
| env: COMPILER=clang++-9 DISABLE_ASAN=yes |
| |
| # macOS/clang |
| # https://docs.travis-ci.com/user/reference/osx/#macos-version |
| - os: osx |
| osx_image: xcode8.3 |
| env: OSX_VERSION=10.12 |
| - os: osx |
| osx_image: xcode9.2 |
| env: OSX_VERSION=10.12 |
| - os: osx |
| osx_image: xcode9.4 |
| env: OSX_VERSION=10.13 |
| - os: osx |
| osx_image: xcode10.1 |
| env: OSX_VERSION=10.13 |
| - os: osx |
| osx_image: xcode10.1 |
| env: OSX_VERSION=10.13 USE_OPENSSL_1_1=yes |
| - os: osx |
| osx_image: xcode10.2 |
| env: OSX_VERSION=10.14 |
| - os: osx |
| osx_image: xcode10.2 |
| env: OSX_VERSION=10.14 USE_OPENSSL_1_1=yes |
| |
| allow_failures: |
| - env: COMPILER=clang++-9 DISABLE_ASAN=yes |
| |
| fast_finish: true |
| |
| install: | |
| case ${COMPILER} in |
| g++-5) |
| ;; |
| g++-*) |
| travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test |
| travis_retry sudo apt-get -qq update |
| travis_retry sudo apt-get -qy install "${COMPILER}" |
| ;; |
| clang++-*) |
| CLANG_VERSION=${COMPILER/clang++} |
| if [[ ${CLANG_VERSION} != "-3."* ]]; then |
| travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add - |
| travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial${CLANG_VERSION/-9} main" |
| fi |
| travis_retry sudo apt-get -qq update |
| travis_retry sudo apt-get -qy install "clang${CLANG_VERSION}" |
| ;; |
| esac |
| |
| before_script: |
| - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-16.04"; fi |
| - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi |
| - if [[ ${OSX_VERSION} == 10.12 ]]; then brew update; fi |
| # workaround for https://github.com/Homebrew/homebrew-core/issues/26358 |
| - if [[ ${OSX_VERSION} == 10.12 ]]; then brew outdated python || brew upgrade python; fi |
| # workaround for https://github.com/travis-ci/travis-ci/issues/6688 |
| - if [[ ${OSX_VERSION} == 10.12 ]]; then /usr/bin/yes | pip2 uninstall numpy || true; fi |
| - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi |
| - ${CXX:-c++} --version |
| - python --version |
| |
| script: |
| - ./.jenkins |