language: cpp
dist: trusty
sudo: required
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++-4.8
    - os: linux
      env: COMPILER=g++-4.9
      addons:
        apt:
          sources: ubuntu-toolchain-r-test
          packages: g++-4.9
    - os: linux
      env: COMPILER=g++-5
      addons:
        apt:
          sources: ubuntu-toolchain-r-test
          packages: g++-5
    - os: linux
      env: COMPILER=g++-6
      addons:
        apt:
          sources: ubuntu-toolchain-r-test
          packages: g++-6
    - os: linux
      env: COMPILER=g++-7
      addons:
        apt:
          sources: ubuntu-toolchain-r-test
          packages: g++-7
    - os: linux
      env: COMPILER=g++-8
      addons:
        apt:
          sources: ubuntu-toolchain-r-test
          packages: g++-8

    # Linux/clang
    # https://apt.llvm.org/
    - os: linux
      env: COMPILER=clang++-3.5
      addons:
        apt:
          packages: clang-3.5
    - os: linux
      env: COMPILER=clang++-3.6
      addons:
        apt:
          packages: clang-3.6
    - os: linux
      env: COMPILER=clang++-3.7 DISABLE_ASAN=yes
      addons:
        apt:
          sources: ["llvm-toolchain-precise-3.7", "ubuntu-toolchain-r-test"]
          packages: clang-3.7
    - os: linux
      env: COMPILER=clang++-3.8
      addons:
        apt:
          sources: ["llvm-toolchain-precise-3.8", "ubuntu-toolchain-r-test"]
          packages: clang-3.8
    - os: linux
      env: COMPILER=clang++-3.9 DISABLE_ASAN=yes
      addons:
        apt:
          sources: ["llvm-toolchain-trusty-3.9", "ubuntu-toolchain-r-test"]
          packages: clang-3.9
    - os: linux
      env: COMPILER=clang++-4.0
      addons:
        apt:
          sources: ["llvm-toolchain-trusty-4.0", "ubuntu-toolchain-r-test"]
          packages: clang-4.0
    - os: linux
      env: COMPILER=clang++-5.0
      addons:
        apt:
          sources: ["llvm-toolchain-trusty-5.0", "ubuntu-toolchain-r-test"]
          packages: clang-5.0
    - os: linux
      env: COMPILER=clang++-6.0
      addons:
        apt:
          sources: ["llvm-toolchain-trusty-6.0", "ubuntu-toolchain-r-test"]
          packages: clang-6.0
    - os: linux
      env: COMPILER=clang++-7
      addons:
        apt:
          sources: ["llvm-toolchain-trusty", "ubuntu-toolchain-r-test"]
          packages: clang-7

    # macOS/clang
    # https://docs.travis-ci.com/user/reference/osx/#OS-X-Version
    - os: osx
      osx_image: xcode7.3
      env: OSX_VERSION=10.11
    - os: osx
      osx_image: xcode8.3
      env: OSX_VERSION=10.12
    - os: osx
      osx_image: xcode9.3
      env: OSX_VERSION=10.13
    - os: osx
      osx_image: xcode9.3
      env: OSX_VERSION=10.13 USE_OPENSSL_1_1=yes

  allow_failures:
    - env: COMPILER=clang++-7
    - env: OSX_VERSION=10.13 USE_OPENSSL_1_1=yes

  fast_finish: true

before_script:
  - if [[ ${TRAVIS_OS_NAME} == linux ]]; then export NODE_LABELS="Linux Ubuntu Ubuntu-14.04"; fi
  - if [[ ${TRAVIS_OS_NAME} == osx ]]; then export NODE_LABELS="OSX OSX-${OSX_VERSION}"; fi
  - if [[ -n ${COMPILER} ]]; then export CXX=${COMPILER}; fi
  - ${CXX:-c++} --version
  - python --version

script:
  - ./.jenkins
