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
                      - 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=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 [ "$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 --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 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 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
