language: cpp dist: bionic env: global: - 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.9 - os: linux env: COMPILER=clang++-4.0 - os: linux env: COMPILER=clang++-5.0 - os: linux env: COMPILER=clang++-6.0 # disable AddressSanitizer with clang 7 and 8 # 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 - os: linux env: COMPILER=clang++-10 # macOS/clang # https://docs.travis-ci.com/user/reference/osx/#macos-version - 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.3 env: OSX_VERSION=10.14 - os: osx osx_image: xcode11 env: OSX_VERSION=10.14 allow_failures: - env: COMPILER=clang++-10 fast_finish: true before_install: | case ${COMPILER} in g++-[567]|clang++-[3456].*) ;; g++-*) travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test travis_retry sudo apt-get -qq update ;; clang++-*) LLVM_REPO=${COMPILER/clang++/llvm-toolchain-${TRAVIS_DIST}} 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/${TRAVIS_DIST}/ ${LLVM_REPO%-10} main" travis_retry sudo apt-get -qq update ;; esac install: - if [[ -n ${COMPILER} ]]; then travis_retry sudo apt-get -qy install "${COMPILER/clang++/clang}"; fi before_script: - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-18.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