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.4
      env: # default compiler
    - os: osx
      osx_image: xcode11.6
      env: # default compiler
    - os: osx
      osx_image: xcode12
      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
