mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-22 23:02:34 -04:00
quic-interop runner is using features available in Docker v28.1 while Github runner includes v28.0 let's for sure setup the latest available
65 lines
2.2 KiB
YAML
65 lines
2.2 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 LibreSSL
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "0 0 * * 2"
|
|
|
|
|
|
jobs:
|
|
combined-build-and-run:
|
|
runs-on: ubuntu-24.04
|
|
if: ${{ github.repository_owner == 'haproxy' || github.event_name == 'workflow_dispatch' }}
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
|
|
- name: Update Docker to the latest
|
|
uses: docker/setup-docker-action@v4
|
|
|
|
- name: Build Docker image
|
|
id: push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: https://github.com/haproxytech/haproxy-qns.git
|
|
platforms: linux/amd64
|
|
build-args: |
|
|
SSLLIB=LibreSSL
|
|
tags: local:libressl
|
|
|
|
- name: Install tshark
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get -y install tshark
|
|
|
|
- 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-picoquic -r haproxy=local:libressl -t "handshake,transfer,longrtt,chacha20,multiplexing,retry,http3,blackhole,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,v2" -c picoquic -s haproxy
|
|
python run.py -j result.json -l logs-quic-go -r haproxy=local:libressl -t "handshake,transfer,longrtt,chacha20,multiplexing,retry,http3,blackhole,amplificationlimit,transferloss,transfercorruption,v2" -c quic-go -s haproxy
|
|
|
|
- name: Delete succeeded logs
|
|
if: failure()
|
|
run: |
|
|
for client in picoquic quic-go; do
|
|
pushd quic-interop-runner/logs-${client}/haproxy_${client}
|
|
cat ../../result.json | jq -r '.results[][] | select(.result=="succeeded") | .name' | xargs rm -rf
|
|
popd
|
|
done
|
|
|
|
- name: Logs upload
|
|
if: failure()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: logs
|
|
path: quic-interop-runner/logs*/
|
|
retention-days: 6
|