CI: introduce scripts/build-vtest.sh for installing VTest
we install VTest for all CI systems, let us unify instalation
diff --git a/.cirrus.yml b/.cirrus.yml
index fdabfdc..9b83e61 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -6,8 +6,7 @@
install_script:
- pkg update -f && pkg upgrade -y && pkg install -y openssl git gmake lua53 socat pcre
script:
- - git clone https://github.com/VTest/VTest.git ../vtest
- - make -C ../vtest
+ - scripts/build-vtest.sh
- gmake CC=clang V=1 ERR=1 TARGET=freebsd USE_ZLIB=1 USE_PCRE=1 USE_OPENSSL=1 USE_LUA=1 LUA_INC=/usr/local/include/lua53 LUA_LIB=/usr/local/lib LUA_LIB_NAME=lua-5.3
- ./haproxy -vv
- ldd haproxy
diff --git a/.github/workflows/openssl-nodeprecated.yml b/.github/workflows/openssl-nodeprecated.yml
index b853fe2..6833911 100644
--- a/.github/workflows/openssl-nodeprecated.yml
+++ b/.github/workflows/openssl-nodeprecated.yml
@@ -23,8 +23,7 @@
- uses: actions/checkout@v1
- name: prepare VTest
run: |
- git clone https://github.com/VTest/VTest.git ../vtest
- make -C ../vtest FLAGS="-O2 -s -Wall"
+ scripts/build-vtest.sh
- name: build haproxy
run: |
make DEFINE="-DOPENSSL_API_COMPAT=0x10100000L -DOPENSSL_NO_DEPRECATED" -j3 CC=gcc ERR=1 TARGET=linux-glibc USE_OPENSSL=1
diff --git a/.github/workflows/vtest.yml b/.github/workflows/vtest.yml
index cb52f27..f7f34d7 100644
--- a/.github/workflows/vtest.yml
+++ b/.github/workflows/vtest.yml
@@ -60,11 +60,7 @@
brew install lua
- name: Install VTest
run: |
- curl -fsSL https://github.com/vtest/VTest/archive/master.tar.gz -o VTest.tar.gz
- mkdir VTest
- tar xvf VTest.tar.gz -C VTest --strip-components=1
- make -C VTest -j$(nproc) FLAGS="-O2 -s -Wall"
- sudo install -m755 VTest/vtest /usr/local/bin/vtest
+ scripts/build-vtest.sh
- name: Install SSL ${{ matrix.ssl }}
if: ${{ matrix.ssl && matrix.ssl != 'stock' }}
run: env ${{ matrix.ssl }} scripts/build-ssl.sh
@@ -101,7 +97,7 @@
- name: Run VTest for HAProxy ${{ steps.show-version.outputs.version }}
id: vtest
# sudo is required, because macOS fails due to an open files limit.
- run: sudo make reg-tests REGTESTS_TYPES=default,bug,devel
+ run: sudo make reg-tests VTEST_PROGRAM=../vtest/vtest REGTESTS_TYPES=default,bug,devel
- name: Show results
if: ${{ failure() }}
# The chmod / sudo is necessary due to the `sudo` while running the tests.
diff --git a/.travis.yml b/.travis.yml
index 1aa415a..3083e30 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,9 +38,7 @@
if: type == cron
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-vtest.sh
script:
- make -j$(nproc) ERR=1 TARGET=linux-glibc CC=$CC DEBUG=-DDEBUG_STRICT=1 $FLAGS
diff --git a/scripts/build-vtest.sh b/scripts/build-vtest.sh
new file mode 100755
index 0000000..4db35d6
--- /dev/null
+++ b/scripts/build-vtest.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -eux
+
+curl -fsSL https://github.com/vtest/VTest/archive/master.tar.gz -o VTest.tar.gz
+mkdir ../vtest
+tar xvf VTest.tar.gz -C ../vtest --strip-components=1
+# Special flags due to: https://github.com/vtest/VTest/issues/12
+make -C ../vtest FLAGS="-O2 -s -Wall"
+