version: ~> 1.0
language: cpp
os: linux
dist: bionic

arch:
  - amd64
  - arm64
  - ppc64le
  - s390x

env:
  - COMPILER=g++-7
  - COMPILER=g++-9
  - COMPILER=clang++-6.0
  - COMPILER=clang++-9

jobs:
  include:
    # Linux
    - env: COMPILER=g++-5
    - env: COMPILER=g++-6
    - env: COMPILER=g++-8
    - env: COMPILER=clang++-4.0
    - env: COMPILER=clang++-5.0
    - env: COMPILER=clang++-7
    - env: COMPILER=clang++-8
    - env: COMPILER=clang++-10
    - env: COMPILER=clang++-11

    # macOS
    - os: osx
      osx_image: xcode9.4
      env: # default compiler
    - os: osx
      osx_image: xcode10.1
      env: # default compiler
    - os: osx
      osx_image: xcode10.3
      env: # default compiler
    - os: osx
      osx_image: xcode11.3
      env: # default compiler
    - os: osx
      osx_image: xcode11.4
      env: # default compiler

  allow_failures:
    - env: COMPILER=g++-5
    - env: COMPILER=g++-6
    - env: COMPILER=clang++-4.0
    - env: COMPILER=clang++-11

  fast_finish: true

before_install:
  - |
    : Adding apt repositories
    case ${COMPILER} in
      g++-9)
        # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
        travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
        travis_retry sudo apt-get -qq update
        ;;
      clang++-1?)
        # https://apt.llvm.org/
        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%-11} main"
        travis_retry sudo apt-get -qq update
        ;;
    esac

install:
  - |
    : Installing C++ compiler
    if [[ -n ${COMPILER} ]]; then
      travis_retry sudo apt-get -qy install ${COMPILER/clang++/clang}
    fi

before_script:
  - |
    : Setting environment variables
    if [[ -n ${COMPILER} ]]; then
      export CXX=${COMPILER}
    fi
    case ${TRAVIS_OS_NAME} in
      linux)  export NODE_LABELS="Linux Ubuntu Ubuntu-18.04" ;;
      osx)    export NODE_LABELS="OSX OSX-$(sw_vers -productVersion | cut -d . -f -2)" ;;
    esac
    export JOB_NAME=limited-build
    export WAF_JOBS=2
  - |
    : Enabling workarounds
    case "${TRAVIS_CPU_ARCH},${COMPILER}" in
      arm64,g++*)
        # Avoid exceeding the per-job time limit
        export DISABLE_HEADERS_CHECK=yes
        ;;
      ppc64le,g++-7)
        # AddressSanitizer does not seem to be working
        export DISABLE_ASAN=yes
        ;;
      *,clang++-8)
        # https://bugs.llvm.org/show_bug.cgi?id=40808
        export DISABLE_ASAN=yes
        ;;
    esac
  - ${CXX:-c++} --version

script:
  - ./.jenkins
