1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-05 00:55:04 -05:00
curl/.travis.yml
Jay Satiro 9434864770 travis: Fix error detection
- Stop using inline shell scripts for before_script and script sections.

Prior to this change Travis could ignore errors from commands in inline
scripts. I don't understand how or why it happens. This is a workaround.

Assisted-by: Simon Warta

Ref: https://github.com/travis-ci/travis-ci/issues/1066

Fixes https://github.com/curl/curl/issues/3730
Closes https://github.com/curl/curl/pull/3755
2019-12-31 02:38:18 -05:00

442 lines
15 KiB
YAML

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
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: 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
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: xenial
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=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="--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="--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=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: 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
- os: linux
arch: arm64
compiler: gcc
dist: xenial
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
- 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 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