]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CI: add weekly QUIC Interop regression against LibreSSL
authorIlia Shipitsin <chipitsine@gmail.com>
Thu, 4 Jul 2024 14:26:34 +0000 (16:26 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 5 Jul 2024 13:11:21 +0000 (15:11 +0200)
currently only quic-go and picoquic clients are enabled with testsuites
supposed to be "green". Tests will be run weekly.

.github/workflows/quic-interop-libressl.yml [new file with mode: 0644]

diff --git a/.github/workflows/quic-interop-libressl.yml b/.github/workflows/quic-interop-libressl.yml
new file mode 100644 (file)
index 0000000..2c0bf81
--- /dev/null
@@ -0,0 +1,70 @@
+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
+