reference:
https://docs.github.com/en/actions/tutorials/create-actions/create-a-composite-action
preparing coredump limits, installing VTest are now served by dedicated
composite action
---
.github/actions/setup-vtest/action.yml | 34 ++++++++++++++++++++++
.github/workflows/aws-lc-template.yml | 11 +------
.github/workflows/fedora-rawhide.yml | 3 +-
.github/workflows/openssl-nodeprecated.yml | 4 +--
.github/workflows/quictls.yml | 11 +------
.github/workflows/vtest.yml | 17 +----------
.github/workflows/wolfssl.yml | 11 +------
7 files changed, 40 insertions(+), 51 deletions(-)
create mode 100644 .github/actions/setup-vtest/action.yml
diff --git a/.github/actions/setup-vtest/action.yml
b/.github/actions/setup-vtest/action.yml
new file mode 100644
index 000000000..0d9d85e24
--- /dev/null
+++ b/.github/actions/setup-vtest/action.yml
@@ -0,0 +1,34 @@
+name: 'setup VTest'
+description: 'ssss'
+
+runs:
+ using: "composite"
+ steps:
+
+ - name: Setup coredumps
+ if: ${{ startsWith(matrix.os, 'ubuntu-') }}
+ shell: bash
+ run: |
+ sudo sysctl -w fs.suid_dumpable=1
+ sudo sysctl kernel.core_pattern=/tmp/core.%h.%e.%t
+
+ - name: Setup ulimit for core dumps
+ shell: bash
+ run: |
+ # This is required for macOS which does not actually allow to increase
+ # the '-n' soft limit to the hard limit, thus failing to run.
+ ulimit -n 65536
+ ulimit -c unlimited
+
+ - name: Install VTest
+ shell: bash
+ run: |
+ scripts/build-vtest.sh
+
+ - name: Install problem matcher for VTest
+ shell: bash
+ # This allows one to more easily see which tests fail.
+ run: echo "::add-matcher::.github/vtest.json"
+
+
+
diff --git a/.github/workflows/aws-lc-template.yml
b/.github/workflows/aws-lc-template.yml
index 60f6e607f..056d26336 100644
--- a/.github/workflows/aws-lc-template.yml
+++ b/.github/workflows/aws-lc-template.yml
@@ -16,9 +16,6 @@ jobs:
if: ${{ github.repository_owner == 'haproxy' || github.event_name ==
'workflow_dispatch' }}
steps:
- uses: actions/checkout@v5
- - name: Install VTest
- run: |
- scripts/build-vtest.sh
- name: Determine latest AWS-LC release
id: get_aws_lc_release
run: |
@@ -52,16 +49,10 @@ jobs:
ldd $(which haproxy)
haproxy -vv
echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT
- - name: Install problem matcher for VTest
- run: echo "::add-matcher::.github/vtest.json"
+ - uses: ./.github/actions/setup-vtest
- name: Run VTest for HAProxy
id: vtest
run: |
- # This is required for macOS which does not actually allow to
increase
- # the '-n' soft limit to the hard limit, thus failing to run.
- ulimit -n 65536
- # allow to catch coredumps
- ulimit -c unlimited
make reg-tests VTEST_PROGRAM=../vtest/vtest
REGTESTS_TYPES=default,bug,devel
- name: Run Unit tests
id: unittests
diff --git a/.github/workflows/fedora-rawhide.yml
b/.github/workflows/fedora-rawhide.yml
index 8965e464b..38808f510 100644
--- a/.github/workflows/fedora-rawhide.yml
+++ b/.github/workflows/fedora-rawhide.yml
@@ -29,8 +29,7 @@ jobs:
run: |
dnf -y install awk diffutils git pcre-devel zlib-devel pcre2-devel
'perl(FindBin)' perl-IPC-Cmd 'perl(File::Copy)' 'perl(File::Compare)' lua-devel
socat findutils systemd-devel clang
dnf -y install 'perl(FindBin)' 'perl(File::Compare)' perl-IPC-Cmd
'perl(File::Copy)' glibc-devel.i686 lua-devel.i686 lua-devel.x86_64
systemd-devel.i686 zlib-ng-compat-devel.i686 pcre-devel.i686 libatomic.i686
- - name: Install VTest
- run: scripts/build-vtest.sh
+ - uses: ./.github/actions/setup-vtest
- name: Install QuicTLS
run: QUICTLS=yes QUICTLS_EXTRA_ARGS="${{
matrix.platform.QUICTLS_EXTRA_ARGS }}" scripts/build-ssl.sh
- name: Build contrib tools
diff --git a/.github/workflows/openssl-nodeprecated.yml
b/.github/workflows/openssl-nodeprecated.yml
index 6038870f0..6a4037c0c 100644
--- a/.github/workflows/openssl-nodeprecated.yml
+++ b/.github/workflows/openssl-nodeprecated.yml
@@ -23,9 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- - name: Install VTest
- run: |
- scripts/build-vtest.sh
+ - uses: ./.github/actions/setup-vtest
- name: Compile 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/quictls.yml b/.github/workflows/quictls.yml
index a6870dbb5..a8b2f96b4 100644
--- a/.github/workflows/quictls.yml
+++ b/.github/workflows/quictls.yml
@@ -18,9 +18,6 @@ jobs:
if: ${{ github.repository_owner == 'haproxy' || github.event_name ==
'workflow_dispatch' }}
steps:
- uses: actions/checkout@v5
- - name: Install VTest
- run: |
- scripts/build-vtest.sh
- name: Install apt dependencies
run: |
sudo apt-get update -o Acquire::Languages=none -o
Acquire::Translation=none
@@ -42,16 +39,10 @@ jobs:
ldd $(which haproxy)
haproxy -vv
echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT
- - name: Install problem matcher for VTest
- run: echo "::add-matcher::.github/vtest.json"
+ - uses: ./.github/actions/setup-vtest
- name: Run VTest for HAProxy
id: vtest
run: |
- # This is required for macOS which does not actually allow to
increase
- # the '-n' soft limit to the hard limit, thus failing to run.
- ulimit -n 65536
- # allow to catch coredumps
- ulimit -c unlimited
make reg-tests VTEST_PROGRAM=../vtest/vtest
REGTESTS_TYPES=default,bug,devel
- name: Show VTest results
if: ${{ failure() && steps.vtest.outcome == 'failure' }}
diff --git a/.github/workflows/vtest.yml b/.github/workflows/vtest.yml
index 4e859a4c8..3a75b525a 100644
--- a/.github/workflows/vtest.yml
+++ b/.github/workflows/vtest.yml
@@ -48,12 +48,6 @@ jobs:
with:
fetch-depth: 100
- - name: Setup coredumps
- if: ${{ startsWith(matrix.os, 'ubuntu-') }}
- run: |
- sudo sysctl -w fs.suid_dumpable=1
- sudo sysctl kernel.core_pattern=/tmp/core.%h.%e.%t
-
#
# Github Action cache key cannot contain comma, so we calculate it based on
job name
#
@@ -93,9 +87,7 @@ jobs:
run: |
brew install socat
brew install lua
- - name: Install VTest
- run: |
- scripts/build-vtest.sh
+ - uses: ./.github/actions/setup-vtest
- name: Install SSL ${{ matrix.ssl }}
if: ${{ matrix.ssl && matrix.ssl != 'stock' &&
steps.cache_ssl.outputs.cache-hit != 'true' }}
run: env ${{ matrix.ssl }} scripts/build-ssl.sh
@@ -136,16 +128,9 @@ jobs:
echo "::endgroup::"
haproxy -vv
echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT
- - name: Install problem matcher for VTest
- # This allows one to more easily see which tests fail.
- run: echo "::add-matcher::.github/vtest.json"
- name: Run VTest for HAProxy ${{ steps.show-version.outputs.version }}
id: vtest
run: |
- # This is required for macOS which does not actually allow to increase
- # the '-n' soft limit to the hard limit, thus failing to run.
- ulimit -n 65536
- ulimit -c unlimited
make reg-tests VTEST_PROGRAM=../vtest/vtest
REGTESTS_TYPES=default,bug,devel
- name: Show VTest results
if: ${{ failure() && steps.vtest.outcome == 'failure' }}
diff --git a/.github/workflows/wolfssl.yml b/.github/workflows/wolfssl.yml
index 7dbc6a279..d99e084ab 100644
--- a/.github/workflows/wolfssl.yml
+++ b/.github/workflows/wolfssl.yml
@@ -14,9 +14,6 @@ jobs:
if: ${{ github.repository_owner == 'haproxy' || github.event_name ==
'workflow_dispatch' }}
steps:
- uses: actions/checkout@v5
- - name: Install VTest
- run: |
- scripts/build-vtest.sh
- name: Install apt dependencies
run: |
sudo apt-get update -o Acquire::Languages=none -o
Acquire::Translation=none
@@ -38,16 +35,10 @@ jobs:
ldd $(which haproxy)
haproxy -vv
echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT
- - name: Install problem matcher for VTest
- run: echo "::add-matcher::.github/vtest.json"
+ - uses: ./.github/actions/setup-vtest
- name: Run VTest for HAProxy
id: vtest
run: |
- # This is required for macOS which does not actually allow to
increase
- # the '-n' soft limit to the hard limit, thus failing to run.
- ulimit -n 65536
- # allow to catch coredumps
- ulimit -c unlimited
make reg-tests VTEST_PROGRAM=../vtest/vtest
REGTESTS_TYPES=default,bug,devel
- name: Run Unit tests
id: unittests
--
2.46.0.windows.1