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

    # 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
    - os: linux
      env: COMPILER=clang++-7
    - os: linux
      env: COMPILER=clang++-8

    # macOS/clang
    # https://docs.travis-ci.com/user/reference/osx/#OS-X-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

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

  fast_finish: true

install: |
    case ${COMPILER} in
      g++-[6789])
        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/-8} 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 [[ ${TRAVIS_OS_NAME} == osx ]]; 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
