]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUILD: extend Travis CI config to support more platforms
authorTim Duesterhus <tim@bastelstu.be>
Wed, 24 Apr 2019 14:11:09 +0000 (19:11 +0500)
committerWilly Tarreau <w@1wt.eu>
Thu, 25 Apr 2019 06:24:29 +0000 (08:24 +0200)
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

index c8937f3774592273f1aa51cb76a1a1f67e68bbf0..504286029d50531e52bfebb7716e5b158529145f 100644 (file)
@@ -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