due to some (yet unknown) changes in ghcr.io we are not able to pull
images from it anymore. Lets temporarily switch to "local only" images
storage.
no functional change
---
.github/workflows/quic-interop-aws-lc.yml | 72 +++++----------------
.github/workflows/quic-interop-libressl.yml | 68 ++++---------------
2 files changed, 30 insertions(+), 110 deletions(-)
diff --git a/.github/workflows/quic-interop-aws-lc.yml
b/.github/workflows/quic-interop-aws-lc.yml
index 27fff66c2..17d586b5a 100644
--- a/.github/workflows/quic-interop-aws-lc.yml
+++ b/.github/workflows/quic-interop-aws-lc.yml
@@ -11,7 +11,7 @@ on:
jobs:
- build:
+ combined-build-and-run:
runs-on: ubuntu-24.04
if: ${{ github.repository_owner == 'haproxy' || github.event_name ==
'workflow_dispatch' }}
permissions:
@@ -21,84 +21,44 @@ jobs:
steps:
- uses: actions/checkout@v5
- - 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
+ - name: Build Docker image
id: push
- uses: docker/build-push-action@v5
+ uses: docker/build-push-action@v6
with:
context: https://github.com/haproxytech/haproxy-qns.git
- push: true
+ platforms: linux/amd64
build-args: |
SSLLIB=AWS-LC
- tags: ghcr.io/${{ github.repository }}:aws-lc
-
- - name: Cleanup registry
- uses: actions/delete-package-versions@v5
- with:
- owner: ${{ github.repository_owner }}
- package-name: 'haproxy'
- package-type: container
- min-versions-to-keep: 1
- delete-only-untagged-versions: 'true'
-
- 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
- if: ${{ github.repository_owner == 'haproxy' || github.event_name ==
'workflow_dispatch' }}
-
- steps:
- - uses: actions/checkout@v5
-
- - name: Log in to the Container registry
- uses: docker/login-action@v3
- with:
- registry: ghcr.io
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
+ tags: local:aws-lc
- 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
+ python run.py -j result.json -l logs-chrome -r haproxy=local:aws-lc
-t "http3" -c chrome -s haproxy
+ python run.py -j result.json -l logs-picoquic -r
haproxy=local:aws-lc -t
"handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2"
-c picoquic -s haproxy
+ python run.py -j result.json -l logs-quic-go -r haproxy=local:aws-lc
-t
"handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2"
-c quic-go -s haproxy
+ python run.py -j result.json -l logs-ngtcp2 -r haproxy=local:aws-lc
-t
"handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2"
-c ngtcp2 -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
+ for client in chrome picoquic quic-go ngtcp2; 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-${{ matrix.suite.client }}
- path: quic-interop-runner/logs/
+ name: logs
+ path: quic-interop-runner/logs*/
retention-days: 6
diff --git a/.github/workflows/quic-interop-libressl.yml
b/.github/workflows/quic-interop-libressl.yml
index 71fa81f62..14b724e14 100644
--- a/.github/workflows/quic-interop-libressl.yml
+++ b/.github/workflows/quic-interop-libressl.yml
@@ -11,7 +11,7 @@ on:
jobs:
- build:
+ combined-build-and-run:
runs-on: ubuntu-24.04
if: ${{ github.repository_owner == 'haproxy' || github.event_name ==
'workflow_dispatch' }}
permissions:
@@ -21,82 +21,42 @@ jobs:
steps:
- uses: actions/checkout@v5
- - 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
+ - name: Build Docker image
id: push
- uses: docker/build-push-action@v5
+ uses: docker/build-push-action@v6
with:
context: https://github.com/haproxytech/haproxy-qns.git
- push: true
+ platforms: linux/amd64
build-args: |
SSLLIB=LibreSSL
- tags: ghcr.io/${{ github.repository }}:libressl
-
- - name: Cleanup registry
- uses: actions/delete-package-versions@v5
- with:
- owner: ${{ github.repository_owner }}
- package-name: 'haproxy'
- package-type: container
- min-versions-to-keep: 1
- delete-only-untagged-versions: 'true'
-
- run:
- needs: build
- strategy:
- matrix:
- suite: [
- { 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"
}
- ]
- fail-fast: false
-
- name: ${{ matrix.suite.client }}
- runs-on: ubuntu-24.04
- if: ${{ github.repository_owner == 'haproxy' || github.event_name ==
'workflow_dispatch' }}
-
- steps:
- - uses: actions/checkout@v5
-
- - name: Log in to the Container registry
- uses: docker/login-action@v3
- with:
- registry: ghcr.io
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
+ tags: local:libressl
- 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 -j result.json -l logs -r haproxy=ghcr.io/${{
github.repository }}:libressl -t ${{ matrix.suite.tests }} -c ${{
matrix.suite.client }} -s haproxy
+ 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: |
- cd quic-interop-runner/logs/haproxy_${{ matrix.suite.client }}
- cat ../../result.json | jq -r '.results[][] |
select(.result=="succeeded") | .name' | xargs rm -rf
+ 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-${{ matrix.suite.client }}
- path: quic-interop-runner/logs/
+ name: logs
+ path: quic-interop-runner/logs*/
retention-days: 6
--
2.46.0.windows.1