| #*************************************************************************** |
| # _ _ ____ _ |
| # 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: 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 |