#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2020, Daniel Stenberg, , 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.4.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: trusty env: - T=normal C="--enable-mqtt" - 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: xenial env: - T=novalgrind NGTCP2=yes GNUTLS=yes C="PKG_CONFIG_PATH=$HOME/ngbuild --without-ssl --with-gnutls=$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 - autogen - automake - autopoint - bison - gperf - libgmp-dev - libopts25-dev - libp11-kit-dev - libtasn1-6-dev - nettle-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