mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
ac26be86f3
To avoid an explosion of jobs, extend the existing CMake tests with ngtcp2 and quiche support. macOS was previously moved to GitHub actions, so the non-Linux case can be dropped.
475 lines
16 KiB
YAML
475 lines
16 KiB
YAML
#***************************************************************************
|
|
# _ _ ____ _
|
|
# 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.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
|
|
before_install:
|
|
# Install and use the current stable release of Go (for boringssl)
|
|
- gimme --list
|
|
- eval "$(gimme stable)"
|
|
- gimme --list
|
|
env:
|
|
- T=cmake BORINGSSL=yes QUICHE=yes C="-DUSE_QUICHE=1 -DOPENSSL_ROOT_DIR=$HOME/boringssl"
|
|
- OVERRIDE_CC="CC=gcc-8" OVERRIDE_CXX="CXX=g++-8"
|
|
- PKG_CONFIG_PATH="$HOME/quiche/target/release"
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- *common_sources
|
|
packages:
|
|
- *common_packages
|
|
- libpsl-dev
|
|
- libbrotli-dev
|
|
- os: linux
|
|
compiler: clang
|
|
dist: bionic
|
|
env:
|
|
- T=cmake NGTCP2=yes C="-DUSE_NGTCP2=ON"
|
|
- OVERRIDE_CC="CC=clang-7" OVERRIDE_CXX="CXX=clang++-7"
|
|
- PKG_CONFIG_PATH="$HOME/ngbuild/lib/pkgconfig"
|
|
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
|