1name: "Run openssl quic interop testing" 2 3on: 4 workflow_run: 5 workflows: ["Build openssl interop container from quic-server"] 6 types: [completed] 7 workflow_dispatch: 8 9jobs: 10 run_quic_interop: 11 strategy: 12 matrix: 13 tests: [http3, transfer, handshake, retry, chacha20, resumption, amplificationlimit] 14 servers: [quic-go, ngtcp2, mvfst, quiche, nginx, msquic, haproxy] 15 clients: [quic-go, ngtcp2, mvfst, quiche, msquic, openssl] 16 fail-fast: false 17 runs-on: ubuntu-latest 18 steps: 19 - uses: actions/checkout@v4 20 with: 21 repository: 'quic-interop/quic-interop-runner' 22 fetch-depth: 0 23 - name: Install dependencies 24 run: | 25 pip install -r requirements.txt 26 sudo add-apt-repository ppa:wireshark-dev/stable 27 sudo apt-get update 28 sudo apt-get install -y tshark 29 - name: Patch implementations file 30 run: | 31 jq '.openssl = { image: "quay.io/openssl-ci/openssl-quic-interop-server" 32 , url: "https://github.com/openssl/openssl" 33 , role: "both" 34 }' ./implementations.json > ./implementations.tmp 35 mv ./implementations.tmp implementations.json 36 - name: "run interop with openssl client" 37 run: | 38 python3 ./run.py -c openssl -t ${{ matrix.tests }} -s ${{ matrix.servers }} --log-dir ./logs-client -d 39 - name: "run interop with openssl server" 40 run: | 41 python3 ./run.py -s openssl -t ${{ matrix.tests }} -c ${{ matrix.clients }} --log-dir ./logs-server -d 42 43