--- /dev/null
+name: QUIC Interop LibreSSL
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: "0 0 * * 2"
+
+
+jobs:
+ build:
+ runs-on: ubuntu-24.04
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Log in to the Container registry
+ uses: docker/login-action@v3
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Clone docker image definition
+ run: |
+ git clone -b libressl https://github.com/haproxytech/haproxy-qns
+
+ - name: Build and push Docker image
+ id: push
+ uses: docker/build-push-action@v5
+ with:
+ context: haproxy-qns
+ push: true
+ tags: ghcr.io/${{ github.repository }}:libressl
+
+
+ run:
+ needs: build
+ strategy:
+ matrix:
+ suite: [
+ { client: picoquic, tests: "handshake,transfer,longrtt,multiplexing,retry,http3,blackhole,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,v2,goodput,crosstraffic" },
+ { client: quic-go, tests: "handshake,transfer,longrtt,multiplexing,retry,http3,blackhole,amplificationlimit,transferloss,transfercorruption,v2,goodput,crosstraffic" }
+ ]
+ fail-fast: false
+
+ name: ${{ matrix.suite.client }}
+ runs-on: ubuntu-24.04
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Install tshark
+ run: |
+ sudo apt-get update
+ sudo apt-get -y install tshark
+
+ - name: Pull image
+ run: |
+ docker pull ghcr.io/${{ github.repository }}:libressl
+
+ - name: Run
+ run: |
+ git clone https://github.com/quic-interop/quic-interop-runner
+ cd quic-interop-runner
+ pip install -r requirements.txt --break-system-packages
+ python run.py -l logs -r haproxy=ghcr.io/${{ github.repository }}:libressl -t ${{ matrix.suite.tests }} -c ${{ matrix.suite.client }} -s haproxy
+