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



Reply via email to