2024-08-13 19:11:28 +00:00
#
2024-08-24 23:22:28 +00:00
# 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
#
2024-08-13 19:11:28 +00:00
2024-07-04 14:26:34 +00:00
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 : Build and push Docker image
id : push
uses : docker/build-push-action@v5
with :
2024-10-30 18:27:52 +00:00
context : https://github.com/haproxytech/haproxy-qns.git
2024-07-04 14:26:34 +00:00
push : true
2024-10-29 20:49:02 +00:00
build-args : |
SSLLIB : LibreSSL
2024-07-04 14:26:34 +00:00
tags : ghcr.io/${{ github.repository }}:libressl
run :
needs : build
strategy :
matrix :
suite : [
2024-10-29 20:49:03 +00:00
{ client: picoquic, tests : "handshake,transfer,longrtt,chacha20,multiplexing,retry,http3,blackhole,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,v2" },
{ client: quic-go, tests : "handshake,transfer,longrtt,chacha20,multiplexing,retry,http3,blackhole,amplificationlimit,transferloss,transfercorruption,v2" }
2024-07-04 14:26:34 +00:00
]
fail-fast : false
name : ${{ matrix.suite.client }}
runs-on : ubuntu-24.04
steps :
- uses : actions/checkout@v4
2024-07-09 13:03:49 +00:00
- name : Log in to the Container registry
uses : docker/login-action@v3
with :
registry : ghcr.io
username : ${{ github.actor }}
password : ${{ secrets.GITHUB_TOKEN }}
2024-07-04 14:26:34 +00:00
- 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
2024-08-07 11:02:29 +00:00
python run.py -j result.json -l logs -r haproxy=ghcr.io/${{ github.repository }}:libressl -t ${{ matrix.suite.tests }} -c ${{ matrix.suite.client }} -s haproxy
2024-07-04 14:26:34 +00:00
2024-08-07 11:02:29 +00:00
- 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 :
2024-08-24 23:22:29 +00:00
name : logs-${{ matrix.suite.client }}
2024-08-07 11:02:29 +00:00
path : quic-interop-runner/logs/
2024-08-24 23:22:28 +00:00
retention-days : 6