#***************************************************************************
#                                  _   _ ____  _
#  Project                     ___| | | |  _ \| |
#                             / __| | | | |_) | |
#                            | (__| |_| |  _ <| |___
#                             \___|\___/|_| \_\_____|
#
# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at https://curl.haxx.se/docs/copyright.html.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
###########################################################################
language: c
sudo: required
cache:
    directories:
        - $HOME/wolfssl-4.0.0-stable
        - $HOME/mesalink-1.0.0
        - $HOME/nghttp2-1.39.2

env:
    global:
        - LD_LIBRARY_PATH=/usr/local/lib

addons:
    apt:
        config:
            retries: true
        sources: &common_sources
            - ubuntu-toolchain-r-test
        packages: &common_packages
            - cmake
            - gcc-8
            - valgrind
            - libev-dev
            - libc-ares-dev
            - g++-8
            - libstdc++-8-dev
            - stunnel4
            - libidn2-0-dev
            - gnutls-bin
            - python-impacket

matrix:
    include:
        - os: linux
          compiler: gcc
          dist: trusty
          env:
              - T=normal C="--with-gssapi --with-libssh2" CHECKSRC=1
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - krb5-user
                      - libssh2-1-dev
        - os: linux
          compiler: gcc
          dist: trusty
          env:
              - T=normal C=--with-libssh
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libssh-dev
        - os: linux
          compiler: gcc
          dist: trusty
          env:
              - T=normal C="--enable-ares"
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
        - os: linux
          compiler: gcc
          dist: bionic
          env:
              - T=normal C="--disable-verbose" CPPFLAGS="-Wno-variadic-macros" NOTESTS=1
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: gcc
          dist: bionic
          before_install:
              # Install and use the current stable release of Go
              - gimme --list
              - eval "$(gimme stable)"
              - gimme --list
          env:
              - T=novalgrind BORINGSSL=yes C="--with-ssl=$HOME/boringssl" LD_LIBRARY_PATH=/home/travis/boringssl/lib:/usr/local/lib
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - ppa:longsleep/golang-backports
                      - *common_sources
                  packages:
                      - *common_packages
        - os: linux
          compiler: gcc
          dist: bionic
          before_install:
              # Install and use the current stable release of Go
              - gimme --list
              - eval "$(gimme stable)"
              - gimme --list
          env:
              - T=novalgrind BORINGSSL=yes QUICHE="yes" C="--with-ssl=$HOME/boringssl --with-quiche=$HOME/quiche/target/release --enable-alt-svc" LD_LIBRARY_PATH=/home/travis/boringssl/lib:$HOME/quiche/target/release:/usr/local/lib
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: gcc
          dist: xenial
          env:
              - T=novalgrind NGTCP2=yes C="--with-ssl=$HOME/ngbuild --with-ngtcp2=$HOME/ngbuild --with-nghttp3=$HOME/ngbuild --enable-alt-svc" NOTESTS=
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: gcc
          dist: bionic
          env:
              - T=debug-wolfssl C="--with-wolfssl --without-ssl"
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: gcc
          dist: bionic
          env:
              - T=debug-mesalink C="--with-mesalink --without-ssl"
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: xenial
          env:
              - T=debug
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-xenial-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: xenial
          env:
              - T=debug C="--enable-alt-svc"
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-xenial-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: xenial
          env:
              - T=debug C="--with-mbedtls --without-ssl"
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-xenial-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libpsl-dev
                      - libbrotli-dev
                      - libmbedtls-dev
        - os: linux
          compiler: clang
          dist: bionic
          env:
              - T=debug C="--with-gnutls --without-ssl"
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-bionic-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libgnutls28-dev
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: bionic
          env:
              - T=debug C="--with-nss --without-ssl" NOTESTS=1 CPPFLAGS="-isystem /usr/include/nss"
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-bionic-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libnss3-dev
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: gcc
          dist: trusty
          env:
              - T=iconv
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
        - os: linux
          compiler: gcc
          dist: bionic
          env:
              - T=cmake
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: bionic
          env:
              - T=cmake
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-bionic-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: gcc
          dist: xenial
          env:
              - T=torture
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - lcov
                      - libpsl-dev
                      - libbrotli-dev
                      - libssh2-1-dev
        - os: linux
          compiler: gcc
          dist: bionic
          env:
              - T=distcheck
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: bionic
          env:
              - T=fuzzer
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-bionic-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: bionic
          env:
              - T=tidy
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-bionic-7
                  packages:
                      - *common_packages
                      - clang-7
                      - clang-tidy-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: bionic
          env:
              - T=scan-build
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-bionic-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: xenial
          env:
              - T=debug CFLAGS="-fsanitize=address,undefined,signed-integer-overflow -fno-sanitize-recover=undefined,integer -Wformat -Werror=format-security -Werror=array-bounds -g" LDFLAGS="-fsanitize=address,undefined -fno-sanitize-recover=undefined,integer" LIBS="-ldl -lubsan"
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-xenial-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          arch: arm64
          compiler: gcc
          dist: bionic
          env:
              - T=debug C="--enable-alt-svc"
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
          addons:
              apt:
                  sources:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
                      - libev-dev
                      - libssl-dev
                      - libtool
                      - pkg-config
                      - zlib1g-dev

before_install:
  - export "${OVERRIDE_CC-blank=}"
  - export "${OVERRIDE_CXX-blank=}"

install:
  - if [ "$T" = "coverage" ]; then pip2 install --user cpp-coveralls; fi

# before_script and script:
# Travis isn't reliable catching errors in inline script commands (#3730).
# Do not add anything here, instead add to the respective script.
before_script:
  - ./scripts/travis/before_script.sh || travis_terminate 1
script:
  - ./scripts/travis/script.sh || travis_terminate 1

# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
branches:
    only:
        - master
        - /\/ci$/

notifications:
  email: false
