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++-8
    - 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

  allow_failures:
    - 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
