mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-12 06:24:56 +00:00
a3956aa3b6
Occasionally some short-lived branches are pushed to help developers rebase their work, these ones do not need to be built. This patch explicitly lists "master" and "next" as the two only branches of interest. It also adds a comment with the URL for the build status.
114 lines
3.9 KiB
YAML
114 lines
3.9 KiB
YAML
# build status appears on https://travis-ci.com/haproxy/haproxy
|
|
|
|
sudo: required
|
|
dist: xenial
|
|
|
|
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=contrib/wurfl WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1 DEVICEATLAS_SRC=contrib/deviceatlas USE_51DEGREES=1"
|
|
- SSL_LIB=${HOME}/opt/lib
|
|
- SSL_INC=${HOME}/opt/include
|
|
- TMPDIR=/tmp
|
|
- FIFTYONEDEGREES_SRC="contrib/51d/src/pattern"
|
|
|
|
addons:
|
|
apt:
|
|
packages: [ liblua5.3-dev, libsystemd-dev, libpcre2-dev ]
|
|
|
|
cache:
|
|
directories:
|
|
- download-cache
|
|
- ${HOME}/opt
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux-ppc64le
|
|
if: type == cron
|
|
compiler: gcc
|
|
env: TARGET=linux-glibc OPENSSL_VERSION=1.0.2r LABEL="linux-ppc64le"
|
|
- os: linux
|
|
if: type != cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc OPENSSL_VERSION=1.1.1c
|
|
- os: linux
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc OPENSSL_VERSION=1.1.1c COVERITY_SCAN_PROJECT_NAME="Haproxy" COVERITY_SCAN_BRANCH_PATTERN="*" COVERITY_SCAN_NOTIFICATION_EMAIL="chipitsine@gmail.com" COVERITY_SCAN_BUILD_COMMAND="make CC=clang TARGET=$TARGET $FLAGS 51DEGREES_SRC=$FIFTYONEDEGREES_SRC"
|
|
script:
|
|
- |
|
|
if [ ! -z ${COVERITY_SCAN_TOKEN+x} ]; then
|
|
make -C contrib/wurfl
|
|
curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
|
|
fi
|
|
- os: linux
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc OPENSSL_VERSION=1.1.0j FIFTYONEDEGREES_SRC="contrib/51d/src/trie"
|
|
- os: linux
|
|
if: type != cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc LIBRESSL_VERSION=2.9.2
|
|
- os: linux
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc LIBRESSL_VERSION=2.8.3
|
|
- os: linux
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc LIBRESSL_VERSION=2.7.5 EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
|
|
- os: linux
|
|
if: type == cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc BORINGSSL=yes
|
|
- os: linux
|
|
if: type != cron
|
|
compiler: clang
|
|
env: TARGET=linux-glibc FLAGS=
|
|
- os: osx
|
|
if: type != cron
|
|
compiler: clang
|
|
env: TARGET=osx FLAGS="USE_OPENSSL=1" OPENSSL_VERSION=1.1.1c
|
|
- os: windows
|
|
if: type == cron
|
|
install:
|
|
- choco install bash make libssl-devel cygwin-devel gcc-core libgcc1 binutils lua-devel libpcre-devel zlib-devel --source cygwin
|
|
script:
|
|
- C:\\tools\\cygwin\\bin\\bash -lc 'cd $OLDPWD && make TARGET=cygwin USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_THREAD=1 && ./haproxy -vv'
|
|
- 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=contrib/wurfl WURFL_LIB=contrib/wurfl USE_51DEGREES=1"
|
|
before_script:
|
|
- git clone http://git.1wt.eu/git/libslz.git/
|
|
- cd libslz && make && make PREFIX=${HOME}/opt install && cd ..
|
|
|
|
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:
|
|
- make -C contrib/wurfl
|
|
- make -j3 CC=$CC V=1 TARGET=$TARGET $FLAGS DEBUG_CFLAGS="$DEBUG_CFLAGS" LDFLAGS="$LDFLAGS" 51DEGREES_SRC="$FIFTYONEDEGREES_SRC" EXTRA_OBJS="$EXTRA_OBJS"
|
|
- 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
|