
Several quic interop implementations have a server implementation, but not a client implementation. Don't bother trying to run those Reviewed-by: Paul Dale <ppzgs1@gmail.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/26130)
43 lines
1.5 KiB
YAML
43 lines
1.5 KiB
YAML
name: "Run openssl quic interop testing"
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Build openssl interop container from quic-server"]
|
|
types: [completed]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
run_quic_interop:
|
|
strategy:
|
|
matrix:
|
|
tests: [http3, transfer, handshake, retry, chacha20, resumption]
|
|
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:
|
|
- 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 client"
|
|
run: |
|
|
python3 ./run.py -c openssl -t ${{ matrix.tests }} -s ${{ matrix.servers }} --log-dir ./logs-client -d
|
|
- name: "run interop with openssl server"
|
|
run: |
|
|
python3 ./run.py -s openssl -t ${{ matrix.tests }} -c ${{ matrix.clients }} --log-dir ./logs-server -d
|
|
|