language: cpp
dist: trusty
sudo: required
env:
  global:
    - BOOST_TEST_COLOR_OUTPUT=true
    - 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

    # 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

    # macOS/clang
    # https://docs.travis-ci.com/user/osx-ci-environment/#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.2
      env: OSX_VERSION=10.12

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
