language: c
sudo: required
cache:
    directories:
        - $HOME/wolfssl-4.0.0-stable
        - $HOME/mesalink-1.0.0
        - $HOME/nghttp2-1.34.0

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
        - os: linux
          compiler: gcc
          dist: trusty
          env:
              - T=normal BROTLI=yes
              - OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
        - 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
        - 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
        - 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"
        - 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
        - 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
        - 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
                      - 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
        - 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
        - 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
        - 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
        - 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
        - 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
        - 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
        - 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
        - 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
        - os: linux
          compiler: clang
          dist: trusty
          env:
              - T=scan-build
              - OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
          addons:
              apt:
                  sources:
                      - *common_sources
                      - llvm-toolchain-trusty-7
                  packages:
                      - *common_packages
                      - clang-7
        - 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

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
    - |
      # No brotli package available for Trusty. Download & compile from source.
      # Cannot be done in the install script because cmake is needed.
          if [ "$TRAVIS_OS_NAME" = linux -a "$BROTLI" ]; then
          curl -L https://github.com/google/brotli/archive/v1.0.1.tar.gz |
              tar xzf - &&
              (
                  cd brotli-1.0.1 &&
                  cmake . -DCMAKE_INSTALL_PREFIX=/usr \
                          -DCMAKE_INSTALL_LIBDIR=/usr/lib &&
                  make &&
                  sudo 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 &&
        ln -s ../build/crypto/libcrypto.so . &&
        ln -s ../build/ssl/libssl.so . &&
        echo "BoringSSL lib dir: "`pwd` &&
        export LIBS=-lpthread )
      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.34.0/Makefile ]; then
          (cd $HOME && \
          curl -L https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.gz |
          tar xzf - && \
          cd nghttp2-1.34.0 && \
          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.34.0 && sudo make install)
      fi

script:
    - |
        set -eo pipefail
        if [ "$T" = "coverage" ]; then
             ./configure --enable-debug --disable-shared --enable-code-coverage
             make
             make TFLAGS=-n test-nonflaky
             make "TFLAGS=-n -e" test-nonflaky
             tests="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 200 201 202 300 301 302 500 501 502 503 504 506 507 508 509 510 511 512 513 514 515 516 517 518 519 600 601 700 701 702 800 801 802 803 900 901 902 903 1000 1001 1002 1004 1100 1101 1200 1201 1302 1303 1304 1305 1306 1308 1400 1401 1402 1404 1450 1451 1452 1502 1507 1508 1600 1602 1603 1605 1650 1651 1652 1653 1654 2001 2100 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 $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
