mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-29 18:18:59 -04:00
previously we used different docker images for different SSL libs, now all of them are merged into one, lets switch to it
93 lines
3.1 KiB
YAML
93 lines
3.1 KiB
YAML
#
|
|
# goodput,crosstraffic are not run on purpose, those tests are intended to bandwidth measurement, we currently do not want to use GitHub runners for that
|
|
#
|
|
|
|
name: QUIC Interop AWS-LC
|
|
|
|
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: Build and push Docker image
|
|
id: push
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
context: https://github.com/haproxytech/haproxy-qns.git
|
|
push: true
|
|
build-args: |
|
|
SSLLIB: AWS-LC
|
|
tags: ghcr.io/${{ github.repository }}:aws-lc
|
|
|
|
run:
|
|
needs: build
|
|
strategy:
|
|
matrix:
|
|
suite: [
|
|
{ client: chrome, tests: "http3" },
|
|
{ client: picoquic, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2" },
|
|
{ client: quic-go, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2" },
|
|
{ client: ngtcp2, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2" }
|
|
]
|
|
fail-fast: false
|
|
|
|
name: ${{ matrix.suite.client }}
|
|
runs-on: ubuntu-24.04
|
|
|
|
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: Install tshark
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get -y install tshark
|
|
|
|
- name: Pull image
|
|
run: |
|
|
docker pull ghcr.io/${{ github.repository }}:aws-lc
|
|
|
|
- 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 -j result.json -l logs -r haproxy=ghcr.io/${{ github.repository }}:aws-lc -t ${{ matrix.suite.tests }} -c ${{ matrix.suite.client }} -s haproxy
|
|
|
|
- name: Delete succeeded logs
|
|
if: failure()
|
|
run: |
|
|
cd quic-interop-runner/logs/haproxy_${{ matrix.suite.client }}
|
|
cat ../../result.json | jq -r '.results[][] | select(.result=="succeeded") | .name' | xargs rm -rf
|
|
|
|
- name: Logs upload
|
|
if: failure()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: logs-${{ matrix.suite.client }}
|
|
path: quic-interop-runner/logs/
|
|
retention-days: 6
|