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
    # 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

    # 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.2
      env: OSX_VERSION=10.14
    - os: osx
      osx_image: xcode11
      env: OSX_VERSION=10.14

  allow_failures:
    - env: COMPILER=clang++-9

  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
