haproxy/.travis.yml
Ilya Shipitsin 46166c2965 BUILD: travis: add sanitizers to travis-ci builds
full list of changes:

use TARGET=osx instead of generic for osx builds,
add USE_PCRE_JIT=1, USE_GETADDRINFO=1 to build matrix,
enable address sanitizer for clang
enable device detection: WURFL, DEVICEATLAS
2019-05-22 17:17:15 +02:00

81 lines
2.4 KiB
YAML

sudo: required
dist: xenial
language: c
env:
global:
- FLAGS="USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_GETADDRINFO=1 USE_WURFL=1 WURFL_INC=contrib/wurfl WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1 DEVICEATLAS_SRC=contrib/deviceatlas"
- SSL_LIB=${HOME}/opt/lib
- SSL_INC=${HOME}/opt/include
- TMPDIR=/tmp
addons:
apt:
packages: [ liblua5.3-dev ]
cache:
directories:
- download-cache
- ${HOME}/opt
matrix:
include:
- os: linux
compiler: gcc
env: TARGET=linux2628 FLAGS=
- os: linux-ppc64le
compiler: gcc
env: TARGET=linux2628 OPENSSL_VERSION=1.1.1b LABEL="linux-ppc64le"
- os: linux
compiler: clang
env: TARGET=linux2628 OPENSSL_VERSION=1.1.1b
- os: linux
compiler: clang
env: TARGET=linux2628 OPENSSL_VERSION=1.1.0j
- os: linux
compiler: clang
env: TARGET=linux2628 OPENSSL_VERSION=1.0.2r
- os: linux
compiler: clang
env: TARGET=linux2628 LIBRESSL_VERSION=2.9.1
- os: linux
compiler: clang
env: TARGET=linux2628 LIBRESSL_VERSION=2.8.3
- os: linux
compiler: clang
env: TARGET=linux2628 LIBRESSL_VERSION=2.7.5
- os: linux
compiler: clang
env: TARGET=linux2628 BORINGSSL=yes
- os: linux
compiler: clang
env: TARGET=linux2628 FLAGS=
- os: osx
compiler: clang
env: TARGET=osx FLAGS="USE_OPENSSL=1" OPENSSL_VERSION=1.1.1b
install:
- git clone https://github.com/VTest/VTest.git ../vtest
# Special flags due to: https://github.com/vtest/VTest/issues/12
- make -C ../vtest FLAGS="-O2 -s -Wall"
- scripts/build-ssl.sh > build-ssl.log 2>&1 || (cat build-ssl.log && exit 1)
script:
- if [ "${CC}" = "clang" ]; then export FLAGS="$FLAGS USE_OBSOLETE_LINKER=1" DEBUG_CFLAGS="-g -fsanitize=address" LDFLAGS="-fsanitize=address"; fi
- make -C contrib/wurfl
- make CC=$CC V=1 TARGET=$TARGET $FLAGS DEBUG_CFLAGS="$DEBUG_CFLAGS" LDFLAGS="$LDFLAGS"
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then export LD_LIBRARY_PATH="${HOME}/opt/lib:${LD_LIBRARY_PATH:-}"; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${HOME}/opt/lib:${DYLD_LIBRARY_PATH:-}"; fi
- ./haproxy -vv
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then ldd haproxy; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then otool -L haproxy; fi
- env VTEST_PROGRAM=../vtest/vtest make reg-tests
after_failure:
- |
for folder in ${TMPDIR}/*regtest*/vtc.*; do
cat $folder/INFO
cat $folder/LOG
done