Skip to content

Add a tool for analyzing TQUIC debug logs and produce a time-offset f… #225

Add a tool for analyzing TQUIC debug logs and produce a time-offset f…

Add a tool for analyzing TQUIC debug logs and produce a time-offset f… #225

name: Interop
on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
tquic_interop_testing:
name: Interop testing
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- server: tquic
client: tquic
- server: tquic
client: lsquic
- server: lsquic
client: tquic
- server: tquic
client: ngtcp2
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build docker image
run: docker build -t tquic_interop:v1 -f interop/Dockerfile .
- name: Install quic-interop-runner
run: |
git clone https://github.com/tquic-group/quic-interop-runner.git
cd quic-interop-runner
pip3 install -r requirements.txt
- name: Install dependencies
run: |
sudo modprobe ip6table_filter
sudo add-apt-repository -y ppa:wireshark-dev/stable
sudo apt install -y tshark
- name: Run the interop tests
run: |
cd quic-interop-runner
python3 run.py -s ${{ matrix.server }} -c ${{ matrix.client }} -t handshake,handshakeloss,handshakecorruption,retry,resumption,zerortt,amplificationlimit,http3,ipv6,transfer,multiplexing,longrtt,blackhole,transferloss,transfercorruption,goodput,crosstraffic -d -r tquic=tquic_interop:v1 -l ${{ matrix.server }}-${{ matrix.client }}-logs -j ${{ matrix.server }}-${{ matrix.client }}-logs/interop.json
- name: Dump the interop result
if: ${{ always() }}
run: |
cd quic-interop-runner
python3 -m json.tool ${{ matrix.server }}-${{ matrix.client }}-logs/interop.json
- name: Store interop logs
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.server }}-${{ matrix.client }}
path: |
quic-interop-runner/*logs/*
!quic-interop-runner/*logs/**/crosstraffic/
!quic-interop-runner/*logs/**/goodput/