From: Tim Duesterhus Date: Wed, 24 Apr 2019 14:11:09 +0000 (+0500) Subject: BUILD: extend Travis CI config to support more platforms X-Git-Tag: v2.0-dev3~176 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88c63a6;p=thirdparty%2Fhaproxy.git BUILD: extend Travis CI config to support more platforms This commit extends the Travis CI configuration to build HAProxy with gcc on Linux, clang on Mac and cleans up the build flag configuration to be easier extendable. Note: At the moment HAProxy fails on Travis for configurations on OS X --- diff --git a/.travis.yml b/.travis.yml index c8937f3774..504286029d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,22 +3,46 @@ dist: xenial language: c +addons: + apt: + packages: [ liblua5.3-dev ] + matrix: include: -# - os: linux -# compiler: gcc -# env: TARGET=linux2628 + - os: linux + compiler: gcc + env: TARGET=linux2628 FLAGS= + - os: linux + compiler: gcc + env: TARGET=linux2628 FLAGS="USE_ZLIB=1 USE_PCRE=1 USE_LUA=1 USE_OPENSSL=1" - os: linux compiler: clang - env: TARGET=linux2628 USE_THREAD=1 USE_OPENSSL=1 USE_PCRE=1 USE_ZLIB=1 USE_GETADDRINFO=1 -# - os: osx -# compiler: clang -# env: TARGET=osx SSL_LIB=/usr/local/opt/openssl/lib SSL_INC=/usr/local/opt/openssl/include TMPDIR=/var/tmp + env: TARGET=linux2628 FLAGS= + - os: osx + compiler: clang + env: TARGET=generic FLAGS= + allow_failures: + - os: osx install: - git clone https://github.com/VTest/VTest.git ../vtest - - make -C ../vtest + # Special flags due to: https://github.com/vtest/VTest/issues/12 + - make -C ../vtest FLAGS="-O2 -s -Wall" + +before_script: + # This is a fix for the super long TMPDIR on Mac making + # the unix socket path names exceed the maximum allowed + # length. + - sed -i'.original' '/TESTDIR=.*haregtests/s/haregtests-.*XXXXXX/regtest.XXX/' scripts/run-regtests.sh script: - - make CC=$CC V=1 TARGET=$TARGET USE_THREAD=${USE_THREAD} USE_OPENSSL=${USE_OPENSSL} USE_PCRE=${USE_PCRE} USE_ZLIB=${USE_ZLIB} USE_GETADDRINFO=${USE_GETADDRINFO} - - make reg-tests PATH=${PATH}:${PWD}/../vtest VTEST_PROGRAM="../vtest/vtest -v" + - make CC=$CC V=1 TARGET=$TARGET $FLAGS + - ./haproxy -vv + - env VTEST_PROGRAM=../vtest/vtest make reg-tests + +after_failure: + - | + for folder in ${TMPDIR:-/tmp}/*regtest*/vtc.*; do + cat $folder/INFO + cat $folder/LOG + done