summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorNeil Horman <nhorman@openssl.org>2024-12-27 13:41:30 +0100
committerNeil Horman <nhorman@openssl.org>2024-12-30 20:16:17 +0100
commit4f37e543d9e61b999a2c9905a1d89463b7964780 (patch)
tree8cb49668144477e74f10f583b641f5da9a05f67b /.github
parentec_kem.c: Fix ikmlen check (diff)
downloadopenssl-4f37e543d9e61b999a2c9905a1d89463b7964780.tar.xz
openssl-4f37e543d9e61b999a2c9905a1d89463b7964780.zip
Reduce the matrix fanout of interop runner
Recent test additions have increased the number of jobs spawned by the interop runner test which exceeds the maximum allowed. This occurs because the matrix expands to: 7 server elements 6 client elements 7 tests 2 test steps (client interop and server interop Because of how github ci does matrix expansion, this results in 2 * 7 * 7 * 6 = 588 But most of those are invalid because each of the 2 steps only considers either the client or server elements, and so get rerun multiple times Alter the steps to be individual jobs, each with their own reduced matrix to only run each relevant test once, limiting our job count to at most 49 jobs. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Viktor Dukhovni <viktor@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> (Merged from https://github.com/openssl/openssl/pull/26275)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/run_quic_interop_server.yml29
1 files changed, 26 insertions, 3 deletions
diff --git a/.github/workflows/run_quic_interop_server.yml b/.github/workflows/run_quic_interop_server.yml
index 5daabfef37..0be619897b 100644
--- a/.github/workflows/run_quic_interop_server.yml
+++ b/.github/workflows/run_quic_interop_server.yml
@@ -7,12 +7,11 @@ on:
workflow_dispatch:
jobs:
- run_quic_interop:
+ run_quic_interop_openssl_client:
strategy:
matrix:
tests: [http3, transfer, handshake, retry, chacha20, resumption, amplificationlimit]
servers: [quic-go, ngtcp2, mvfst, quiche, nginx, msquic, haproxy]
- clients: [quic-go, ngtcp2, mvfst, quiche, msquic, openssl]
fail-fast: false
runs-on: ubuntu-latest
steps:
@@ -36,7 +35,31 @@ jobs:
- name: "run interop with openssl client"
run: |
python3 ./run.py -c openssl -t ${{ matrix.tests }} -s ${{ matrix.servers }} --log-dir ./logs-client -d
+ run_quic_interop_openssl_server:
+ strategy:
+ matrix:
+ tests: [http3, transfer, handshake, retry, chacha20, resumption, amplificationlimit]
+ clients: [quic-go, ngtcp2, mvfst, quiche, msquic, openssl]
+ fail-fast: false
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ repository: 'quic-interop/quic-interop-runner'
+ fetch-depth: 0
+ - name: Install dependencies
+ run: |
+ pip install -r requirements.txt
+ sudo add-apt-repository ppa:wireshark-dev/stable
+ sudo apt-get update
+ sudo apt-get install -y tshark
+ - name: Patch implementations file
+ run: |
+ jq '.openssl = { image: "quay.io/openssl-ci/openssl-quic-interop-server"
+ , url: "https://github.com/openssl/openssl"
+ , role: "both"
+ }' ./implementations.json > ./implementations.tmp
+ mv ./implementations.tmp implementations.json
- name: "run interop with openssl server"
run: |
python3 ./run.py -s openssl -t ${{ matrix.tests }} -c ${{ matrix.clients }} --log-dir ./logs-server -d
-