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

arch:
  - amd64
  #- arm64   # Too slow, exceeds time limit
  #- ppc64le # Fails transport tests
  #- s390x   # Fails transport tests

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.5
      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
      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
    if [[ ${TRAVIS_OS_NAME} == linux ]]; then
      sudo sysctl -e -w net.ipv6.conf.all.disable_ipv6=0
    fi
  - ${CXX:-c++} --version

script:
  - ./.jenkins
