mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-28 23:52:06 +00:00
57610c694e
Both the source file and the dummy library are now at the same place. Maybe the build howto could be moved there as well to make things even cleaner. The Makefile, MAINTAINERS, doc, and vtest matrix were updated.
102 lines
3.4 KiB
YAML
102 lines
3.4 KiB
YAML
# build status appears on https://travis-ci.com/haproxy/haproxy
|
|
|
|
dist: focal
|
|
|
|
language: c
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- next
|
|
|
|
env:
|
|
global:
|
|
- FLAGS="USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_SYSTEMD=1 USE_WURFL=1 WURFL_INC=addons/wurfl/dummy WURFL_LIB=addons/wurfl/dummy USE_DEVICEATLAS=1 DEVICEATLAS_SRC=addons/deviceatlas/dummy USE_51DEGREES=1"
|
|
- TMPDIR=/tmp
|
|
- FIFTYONEDEGREES_SRC="addons/51degrees/dummy/pattern"
|
|
- DEBUG_OPTIONS="DEBUG_STRICT=1"
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
packages: [ liblua5.3-dev, libsystemd-dev, libpcre2-dev, clang-9, socat, ninja-build, libpcre3-dev ]
|
|
|
|
cache:
|
|
directories:
|
|
- download-cache
|
|
- ${HOME}/opt
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
arch: ppc64le
|
|
if: type == cron
|
|
compiler: gcc
|
|
env: TARGET=linux-glibc OPENSSL_VERSION=1.0.2u
|
|
name: openssl-1.0.2
|
|
- os: linux
|
|
arch: arm64
|
|
if: type == push
|
|
compiler: clang
|
|
env: TARGET=linux-glibc CC=clang-9
|
|
name: openssl-1.1.1
|
|
- os: linux
|
|
arch: s390x
|
|
if: type == push
|
|
compiler: gcc
|
|
env: TARGET=linux-glibc
|
|
name: openssl-1.1.1
|
|
- os: linux
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc OPENSSL_VERSION=1.1.0l FIFTYONEDEGREES_SRC="addons/51degrees/dummy/trie" CC=clang-9
|
|
name: openssl-1.1.1 | 51d trie
|
|
- os: linux
|
|
env: DEBUG_OPTIONS=""
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc LIBRESSL_VERSION=3.0.2 CC=clang-9
|
|
name: libressl-3.0.2 | ERR=
|
|
- os: linux
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc FLAGS="USE_SLZ=1 USE_PCRE2=1 USE_PCRE2_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_SYSTEMD=1 USE_WURFL=1 WURFL_INC=addons/wurfl/dummy WURFL_LIB=addons/wurfl/dummy USE_51DEGREES=1" CC=clang-9
|
|
before_script:
|
|
- git clone https://github.com/wtarreau/libslz
|
|
- cd libslz && make && make PREFIX=${HOME}/opt install && cd ..
|
|
- export SLZ_INC=${HOME}/opt/include SLZ_LIB=${HOME}/opt/lib
|
|
- export ADDLIB="-Wl,-rpath,$SLZ_LIB"
|
|
name: openssl-1.1.1 | slz | pcre2
|
|
|
|
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"
|
|
- |
|
|
if [ ! -z ${OPENSSL_VERSION+x} ] || [ ! -z ${LIBRESSL_VERSION+x} ] || [ ! -z ${BORINGSSL+x} ]; then
|
|
travis_wait bash -c 'scripts/build-ssl.sh >build-ssl.log 2>&1' || (cat build-ssl.log && exit 1)
|
|
export SSL_LIB=${HOME}/opt/lib SSL_INC=${HOME}/opt/include
|
|
export ADDLIB="-Wl,-rpath,$SSL_LIB"
|
|
fi
|
|
|
|
script:
|
|
- if [ "${CC%-*}" = "clang" ]; then export FLAGS="$FLAGS USE_OBSOLETE_LINKER=1" DEBUG_CFLAGS="-g -fsanitize=address" LDFLAGS="-fsanitize=address" ASAN_OPTIONS="log_path=asan.log"; fi
|
|
- make -C addons/wurfl/dummy
|
|
- make -j3 CC=$CC CPU_CFLAGS.generic="-O1" V=1 ERR=1 TARGET=$TARGET $FLAGS DEBUG_CFLAGS="$DEBUG_CFLAGS" LDFLAGS="$LDFLAGS" ADDLIB="$ADDLIB" SSL_LIB="$SSL_LIB" SSL_INC="$SSL_INC" SLZ_LIB="$SLZ_LIB" SLZ_INC="$SLZ_INC" 51DEGREES_SRC="$FIFTYONEDEGREES_SRC" EXTRA_OBJS="$EXTRA_OBJS" $DEBUG_OPTIONS
|
|
- ./haproxy -vv
|
|
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then ldd haproxy; fi
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then otool -L haproxy; fi
|
|
- make reg-tests VTEST_PROGRAM=../vtest/vtest REGTESTS_TYPES=default,bug,devel
|
|
- |
|
|
if ls asan.log* 1>/dev/null 2>&1; then
|
|
cat asan.log*
|
|
exit 1
|
|
fi
|
|
|
|
after_failure:
|
|
- |
|
|
for folder in ${TMPDIR}/*regtest*/vtc.*; do
|
|
cat $folder/INFO
|
|
cat $folder/LOG
|
|
done
|