| 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 |
| # do not waste time upgrading useless packages |
| - if [[ ${TRAVIS_OS_NAME} == osx ]]; then brew pin cgal gdal numpy postgis sfcgal || true; 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 |