From 88c63a6e5503f22fccd4bb1dca4efe169a864ff6 Mon Sep 17 00:00:00 2001 From: Tim Duesterhus Date: Wed, 24 Apr 2019 19:11:09 +0500 Subject: [PATCH] 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 --- .travis.yml | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) 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