1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00
curl/.travis.yml
Daniel Stenberg b193fd3bbd
runtests: enable 'hyper mode' only for HTTP tests
The 'hyper mode' makes line-ending checks work in the test suite for
when hyper is used. Now it also requires that HTTP or HTTPS are
mentioned as keywords to be enabled so that it doesn't wrongly adjusts
tests for other protocols.

This makes test 271 (TFTP) work again in hyper enabled builds.

Closes #7185
2021-06-03 23:08:47 +02:00

476 lines
12 KiB
YAML

#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) 1998 - 2021, 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.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
os: linux
dist: bionic
cache:
directories:
- $HOME/wolfssl-4.7.0-stable
- $HOME/mesalink-1.0.0
- $HOME/bearssl-0.6
env:
global:
- LD_LIBRARY_PATH=/usr/local/lib
addons:
apt: &common_apt
config:
retries: true
packages: &common_packages
- cmake
- valgrind
- libev-dev
- libc-ares-dev
- g++-8
- stunnel4
- libidn2-dev
- gnutls-bin
- python-impacket
- ninja-build
- libgsasl7-dev
- libnghttp2-dev
jobs:
include:
- env:
- T=normal C="--with-openssl --with-gssapi --with-libssh2" CHECKSRC=1
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- krb5-user
- libssh2-1-dev
- libbrotli-dev
- libzstd-dev
# - env:
# - T=normal C="--with-openssl --with-libssh"
# # Avoid bionic, its pre-release libssh version triggers deprecation warnings.
# dist: focal
# addons:
# apt:
# <<: *common_apt
# packages:
# - cmake
# - valgrind
# - libev-dev
# - libc-ares-dev
# - g++-8
# - stunnel4
# - libidn2-dev
# - gnutls-bin
# # The above list is common_packages minus impacket.
# - libssh-dev
# - ninja-build
- env:
- T=normal C="--enable-ares --with-openssl"
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
- env:
- T=normal C="--disable-proxy --with-openssl"
- env:
- T=normal C="--disable-verbose --with-openssl" CPPFLAGS="-Wno-variadic-macros" NOTESTS=1
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=novalgrind BORINGSSL=yes C="--with-openssl=$HOME/boringssl" LD_LIBRARY_PATH=/home/travis/boringssl/lib:/usr/local/lib
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
before_install:
- eval "$(gimme stable)"; gimme --list # Install latest Go (for boringssl)
- env:
- T=novalgrind QUICHE="yes" C="--with-openssl=$HOME/quiche/deps/boringssl/src --with-quiche=$HOME/quiche/target/release" LD_LIBRARY_PATH=$HOME/quiche/target/release:/usr/local/lib
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug HYPER="yes" C="--with-hyper=$HOME/hyper --with-openssl" LD_LIBRARY_PATH=$HOME/hyper/target/debug:/usr/local/lib TFLAGS="1 to 153 220 221 222 223 224 230 232 271 314 315 316 396 397"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug-rustls RUSTLS_VERSION="v0.6.0" C="--with-rustls=$HOME/crust"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug-bearssl C="--with-bearssl" BEARSSL="yes"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=novalgrind LIBRESSL=yes C="--with-openssl=$HOME/libressl" LD_LIBRARY_PATH=/home/travis/libressl/lib:/usr/local/lib
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
- env:
- T=novalgrind NGTCP2=yes C="--with-openssl=$HOME/ngbuild --with-ngtcp2=$HOME/ngbuild --with-nghttp3=$HOME/ngbuild" NOTESTS=
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=novalgrind NGTCP2=yes GNUTLS=yes C="PKG_CONFIG_PATH=$HOME/ngbuild --with-gnutls=$HOME/ngbuild --with-ngtcp2=$HOME/ngbuild --with-nghttp3=$HOME/ngbuild" NOTESTS=
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- autogen
- automake
- autopoint
- bison
- gperf
- libgmp-dev
- libopts25-dev
- libp11-kit-dev
- libtasn1-6-dev
- nettle-dev
- env:
- T=debug-wolfssl C="--with-wolfssl" WOLFSSL="yes"
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug OPENSSL3="yes" C="--with-openssl=$HOME/openssl3" LD_LIBRARY_PATH=/home/travis/openssl3/lib:/usr/local/lib TFLAGS="https ftps"
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug-mesalink C="--with-mesalink" MESALINK=yes
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug C="--with-openssl"
- &clang OVERRIDE_CC="CC=clang-9" OVERRIDE_CXX="CXX=clang++-9"
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- &clang_packages [*common_packages, clang-9]
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug C="--disable-alt-svc --with-openssl"
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug C="--with-mbedtls"
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- libmbedtls-dev
- env:
- T=debug C="--with-gnutls"
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libgnutls28-dev
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug C="--with-nss" NOTESTS=1 CPPFLAGS="-isystem /usr/include/nss"
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libnss3-dev
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=iconv C="--with-openssl"
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
- env:
- T=cmake BORINGSSL=yes QUICHE=yes C="-GNinja -DUSE_QUICHE=1 -DOPENSSL_ROOT_DIR=$HOME/boringssl -DCURL_BROTLI=1 -DCURL_ZSTD=1" TFLAGS="https ftps"
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
- PKG_CONFIG_PATH="$HOME/quiche/target/release"
before_install:
- eval "$(gimme stable)"; gimme --list # Install latest Go (for boringssl)
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=cmake NGTCP2=yes C="-GNinja -DUSE_NGTCP2=ON -DCURL_BROTLI=1 -DCURL_ZSTD=1"
- *clang
- PKG_CONFIG_PATH="$HOME/ngbuild/lib/pkgconfig"
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=torture
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- lcov
- libpsl-dev
- libssl-dev
- libbrotli-dev
- libzstd-dev
- libssh2-1-dev
- env:
- T=events
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- lcov
- libpsl-dev
- libssl-dev
- libbrotli-dev
- libzstd-dev
- libssh2-1-dev
- env:
- T=distcheck
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=fuzzer
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=tidy C="--with-openssl"
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- clang-tidy-9
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=scan-build C="--with-openssl --with-libssh2"
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libssl-dev
- libssh2-1-dev
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- 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" TFLAGS=-n C="--with-openssl"
- *clang
compiler: clang
addons:
apt:
<<: *common_apt
packages:
- *clang_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- env:
- T=debug C="--with-openssl" TFLAGS=-n
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
arch: arm64
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- libev-dev
- libssl-dev
- libtool
- pkg-config
- zlib1g-dev
- env:
- T=debug C="--with-openssl" TFLAGS=-n
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
arch: ppc64le
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-dev
- libev-dev
- libssl-dev
- libtool
- pkg-config
- zlib1g-dev
- env:
- T=debug C="--with-openssl" TFLAGS=-n
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
arch: s390x
addons:
apt:
<<: *common_apt
packages:
- *common_packages
- libpsl-dev
- libbrotli-dev
- libzstd-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
# select branches to avoid testing feature branches twice (as branch and as pull request)
branches:
only:
- master
- /\/ci$/
notifications:
email: false