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

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="--disable-http --disable-smtp --disable-imap"
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
        - 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: xenial
          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: xenial
          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:
                      - *common_sources
                  packages:
                      - *common_packages
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: gcc
          dist: xenial
          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: xenial
          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: xenial
          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: xenial
          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-xenial-7
                  packages:
                      - *common_packages
                      - clang-7
                      - libgnutls28-dev
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: xenial
          env:
              - T=debug C="--disable-threaded-resolver"
              - 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-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-xenial-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: osx
          compiler: gcc
          env: T=debug C=--with-libssh2
        - os: osx
          compiler: gcc
          env: T=debug C="--disable-dict --disable-file --disable-ftp --disable-gopher --disable-imap --disable-ldap --disable-pop3 --disable-rtmp --disable-rtsp --disable-scp --disable-sftp --disable-smb --disable-smtp --disable-telnet --disable-tftp --disable-unix-sockets --disable-shared --enable-debug --enable-maintainer-mode --without-brotli --without-gssapi --without-libidn2 --without-libmetalink --without-libpsl --without-librtmp --without-libssh2 --without-nghttp2 --without-ntlm-auth --without-ssl --without-zlib"
        - os: osx
          compiler: gcc
          env: T=debug C=--enable-ares
        - os: osx
          compiler: gcc
          env: T=debug C="--with-ssl=/usr/local/opt/openssl --with-libmetalink"
        - os: osx
          compiler: gcc
          env: T=debug C="--with-ssl=/usr/local/opt/libressl --with-libmetalink"
        - os: osx
          compiler: clang
          osx_image: xcode10
          env: T=debug C="--without-ssl --with-darwinssl --with-libmetalink"
        - os: osx
          compiler: clang
          env: T=normal
        - os: osx
          compiler: clang
          env: T=cmake
        - os: linux
          compiler: gcc
          dist: xenial
          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: xenial
          env:
              - T=cmake
              - 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: gcc
          dist: xenial
          env:
              - T=coverage
              - 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: xenial
          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: xenial
          env:
              - T=fuzzer
              - 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=tidy
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-xenial-7
                  packages:
                      - *common_packages
                      - clang-7
                      - clang-tidy-7
                      - libpsl-dev
                      - libbrotli-dev
        - os: linux
          compiler: clang
          dist: xenial
          env:
              - T=scan-build
              - 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 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

before_install:
    - eval "${OVERRIDE_CC}"
    - eval "${OVERRIDE_CXX}"

install:
  - if [ "$T" = "coverage" ]; then pip2 install --user cpp-coveralls; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update > /dev/null; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew reinstall libtool > /dev/null; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install rtmpdump libssh2 c-ares libmetalink libressl nghttp2 libmetalink; fi

before_script:
    - ./buildconf
    - |
      if [ "$NGTCP2" = yes ]; then
       (cd $HOME &&
       git clone --depth 1 -b openssl-quic-draft-22 https://github.com/tatsuhiro-t/openssl possl &&
       cd possl &&
       ./config enable-tls1_3 --prefix=$HOME/ngbuild &&
       make && make install_sw &&

       cd .. &&
       git clone --depth 1 https://github.com/ngtcp2/nghttp3
       cd nghttp3 &&
       autoreconf -i &&
       ./configure --prefix=$HOME/ngbuild --enable-lib-only &&
       make && make install &&

       cd .. &&
       git clone --depth 1 -b draft-22 https://github.com/ngtcp2/ngtcp2 &&
       cd ngtcp2 &&
       autoreconf -i &&
       ./configure PKG_CONFIG_PATH=$HOME/ngbuild/lib/pkgconfig LDFLAGS="-Wl,-rpath,$HOME/ngbuild/lib" --prefix=$HOME/ngbuild &&
       make && make install)
      fi
    - |
      if [ "$TRAVIS_OS_NAME" = linux -a "$BORINGSSL" ]; then
        (cd $HOME &&
        git clone --depth=1 https://boringssl.googlesource.com/boringssl &&
        cd boringssl &&
        mkdir build &&
        cd build &&
        CXX="g++" CC="gcc" cmake -DCMAKE_BUILD_TYPE=release -DBUILD_SHARED_LIBS=1 .. &&
        make &&
        cd .. &&
        mkdir lib &&
        cd lib &&
        cp ../build/crypto/libcrypto.so . &&
        cp ../build/ssl/libssl.so . &&
        echo "BoringSSL lib dir: "`pwd` &&
        cd ../build &&
        make clean && rm -f CMakeCache.txt &&
        CXX="g++" CC="gcc" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on .. &&
        make &&
        export LIBS=-lpthread )
      fi
    - |
      if [ "$TRAVIS_OS_NAME" = linux -a "$QUICHE" ]; then
        (cd $HOME &&
        git clone --depth=1 https://github.com/cloudflare/quiche.git &&
        curl https://sh.rustup.rs -sSf | sh -s -- -y &&
        source $HOME/.cargo/env &&
        cd quiche &&
        QUICHE_BSSL_PATH=$HOME/boringssl cargo build -v --release --features pkg-config-meta)
      fi
    - |
      if [ $TRAVIS_OS_NAME = linux ]; then
        if [ ! -e $HOME/wolfssl-4.0.0-stable/Makefile ]; then
          (cd $HOME && \
          curl -LO https://github.com/wolfSSL/wolfssl/archive/v4.0.0-stable.tar.gz && \
          tar -xzf v4.0.0-stable.tar.gz && \
          cd wolfssl-4.0.0-stable && \
          ./autogen.sh && \
          ./configure --enable-tls13 --enable-all && \
          touch wolfssl/wolfcrypt/fips.h && \
          make)
        fi
      fi
    - |
      if [ $TRAVIS_OS_NAME = linux ]; then
        if [ ! -e $HOME/mesalink-1.0.0/Makefile ]; then
          (cd $HOME && \
          curl https://sh.rustup.rs -sSf | sh -s -- -y && \
          source $HOME/.cargo/env && \
          curl -LO https://github.com/mesalock-linux/mesalink/archive/v1.0.0.tar.gz && \
          tar -xzf v1.0.0.tar.gz && \
          cd mesalink-1.0.0 && \
          ./autogen.sh && \
          ./configure --enable-tls13  && \
          make)
        fi
      fi
    - |
      if [ $TRAVIS_OS_NAME = linux ]; then
        if [ ! -e $HOME/nghttp2-1.39.2/Makefile ]; then
          (cd $HOME && \
          curl -L https://github.com/nghttp2/nghttp2/releases/download/v1.39.2/nghttp2-1.39.2.tar.gz |
          tar xzf - && \
          cd nghttp2-1.39.2 && \
          CXX="g++-8" CC="gcc-8" CFLAGS="" LDFLAGS="" LIBS="" ./configure --disable-threads --enable-app && \
          make)
        fi
      fi
    - |
      if [ $TRAVIS_OS_NAME = linux ]; then
        (cd $HOME/wolfssl-4.0.0-stable && sudo make install)
        (cd $HOME/mesalink-1.0.0 && sudo make install)
        (cd $HOME/nghttp2-1.39.2 && sudo make install)
      fi

script:
    - |
        set -eo pipefail
        if [ "$T" = "coverage" ]; then
             ./configure --enable-debug --disable-shared --disable-threaded-resolver --enable-code-coverage --enable-werror --enable-alt-svc --with-libssh2
             make
             make TFLAGS=-n test-nonflaky
             make "TFLAGS=-n -e" test-nonflaky
             tests="1 200 300 500 700 800 900 1000 1100 1200 1302 1400 1502 3000"
             make "TFLAGS=-n -t $tests" test-nonflaky
             coveralls --gcov /usr/bin/gcov-8 --gcov-options '\-lp' -i src -e lib -e tests -e docs -b $PWD/src
             coveralls --gcov /usr/bin/gcov-8 --gcov-options '\-lp' -e src -i lib -e tests -e docs -b $PWD/lib
        fi
    - |
        set -eo pipefail
        if [ "$T" = "debug" ]; then
             ./configure --enable-debug --enable-werror $C
             make && make examples
             if [ -z $NOTESTS ]; then
                make TFLAGS=-n test-nonflaky
             fi
        fi
    - |
        set -eo pipefail
        if [ "$T" = "debug-wolfssl" ]; then
             ./configure --enable-debug --enable-werror $C
             make
             make "TFLAGS=-n !313" test-nonflaky
        fi
    - |
        set -eo pipefail
        if [ "$T" = "debug-mesalink" ]; then
             ./configure --enable-debug --enable-werror $C
             make
             make "TFLAGS=-n !313 !3001" test-nonflaky
        fi
    - |
        set -eo pipefail
        if [ "$T" = "novalgrind" ]; then
             ./configure --enable-werror $C
             make && make examples
             make TFLAGS=-n test-nonflaky
        fi
    - |
        set -eo pipefail
        if [ "$T" = "normal" ]; then
             if [ $TRAVIS_OS_NAME = linux ]; then
               # Remove system curl to make sure we don't rely on it.
               # Only done on Linux since we're not permitted to on mac.
               sudo rm -f /usr/bin/curl
             fi
             ./configure --enable-warnings --enable-werror $C
             make && make examples
             if [ -z $NOTESTS ]; then
                make test-nonflaky
             fi
             if [ -n $CHECKSRC ]; then
                make checksrc
             fi
        fi
    - |
        set -eo pipefail
        if [ "$T" = "tidy" ]; then
             ./configure --enable-warnings --enable-werror $C
             make && make tidy
        fi
    - |
        set -eo pipefail
        if [ "$T" = "iconv" ]; then
             source .travis-iconv-env.sh
             ./configure --enable-debug --enable-werror $C
             make && make examples
             make test-nonflaky
        fi
    - |
        set -eo pipefail
        if [ "$T" = "cmake" ]; then
             if [ $TRAVIS_OS_NAME = linux ]; then
                cmake -H. -Bbuild -DCURL_WERROR=ON && cmake --build build
             else
                cmake -H. -Bbuild -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCURL_DISABLE_LDAP=ON -DCURL_DISABLE_LDAPS=ON && cmake --build build
             fi
        fi
    - |
        set -eo pipefail
        if [ "$T" = "distcheck" ]; then
            # find BOM markers and exit if we do
            ! git grep `printf '\xef\xbb\xbf'`
            ./configure
            make
            ./maketgz 99.98.97
            # verify in-tree build - and install it
            (tar xf curl-99.98.97.tar.gz && \
             cd curl-99.98.97 && \
             ./configure --prefix=$HOME/temp && \
             make && \
             make TFLAGS=1 test && \
             make install)
            # basic check of the installed files
            bash scripts/installcheck.sh $HOME/temp
            rm -rf curl-99.98.97
            # verify out-of-tree build
            (tar xf curl-99.98.97.tar.gz && \
             touch curl-99.98.97/docs/{cmdline-opts,libcurl}/Makefile.inc && \
             mkdir build && \
             cd build && \
             ../curl-99.98.97/configure && \
             make && \
             make TFLAGS='-p 1 1139' test)
            # verify cmake build
            rm -rf curl-99.98.97
            (tar xf curl-99.98.97.tar.gz && \
             cd curl-99.98.97 && \
             mkdir build && \
             cd build && \
             cmake .. && \
             make)
        fi
    - |
        set -eo pipefail
        if [ "$T" = "fuzzer" ]; then
          # Download the fuzzer to a temporary folder
          ./tests/fuzz/download_fuzzer.sh /tmp/curl_fuzzer

          export CURLSRC=$PWD

          # Run the mainline fuzzer test
          pushd /tmp/curl_fuzzer
          ./mainline.sh ${CURLSRC}
          popd
        fi
    - |
        if [ "$T" = "scan-build" ]; then
             scan-build ./configure --enable-debug --enable-werror $C
             scan-build --status-bugs make && scan-build --status-bugs make examples
        fi

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

notifications:
  email: false
