Skip to content

Commit ca920dc

Browse files
committed
CI: do not use ghcr.io for Quic Interop workflows
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
1 parent 2f94f61 commit ca920dc

2 files changed

Lines changed: 30 additions & 110 deletions

File tree

.github/workflows/quic-interop-aws-lc.yml

Lines changed: 16 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111

1212

1313
jobs:
14-
build:
14+
combined-build-and-run:
1515
runs-on: ubuntu-24.04
1616
if: ${{ github.repository_owner == 'haproxy' || github.event_name == 'workflow_dispatch' }}
1717
permissions:
@@ -21,84 +21,44 @@ jobs:
2121
steps:
2222
- uses: actions/checkout@v5
2323

24-
- name: Log in to the Container registry
25-
uses: docker/login-action@v3
26-
with:
27-
registry: ghcr.io
28-
username: ${{ github.actor }}
29-
password: ${{ secrets.GITHUB_TOKEN }}
30-
31-
- name: Build and push Docker image
24+
- name: Build Docker image
3225
id: push
33-
uses: docker/build-push-action@v5
26+
uses: docker/build-push-action@v6
3427
with:
3528
context: https://github.com/haproxytech/haproxy-qns.git
36-
push: true
29+
platforms: linux/amd64
3730
build-args: |
3831
SSLLIB=AWS-LC
39-
tags: ghcr.io/${{ github.repository }}:aws-lc
40-
41-
- name: Cleanup registry
42-
uses: actions/delete-package-versions@v5
43-
with:
44-
owner: ${{ github.repository_owner }}
45-
package-name: 'haproxy'
46-
package-type: container
47-
min-versions-to-keep: 1
48-
delete-only-untagged-versions: 'true'
49-
50-
run:
51-
needs: build
52-
strategy:
53-
matrix:
54-
suite: [
55-
{ client: chrome, tests: "http3" },
56-
{ client: picoquic, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2" },
57-
{ client: quic-go, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2" },
58-
{ client: ngtcp2, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,resumption,zerortt,http3,blackhole,keyupdate,ecn,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,ipv6,v2" }
59-
]
60-
fail-fast: false
61-
62-
name: ${{ matrix.suite.client }}
63-
runs-on: ubuntu-24.04
64-
if: ${{ github.repository_owner == 'haproxy' || github.event_name == 'workflow_dispatch' }}
65-
66-
steps:
67-
- uses: actions/checkout@v5
68-
69-
- name: Log in to the Container registry
70-
uses: docker/login-action@v3
71-
with:
72-
registry: ghcr.io
73-
username: ${{ github.actor }}
74-
password: ${{ secrets.GITHUB_TOKEN }}
32+
tags: local:aws-lc
7533

7634
- name: Install tshark
7735
run: |
7836
sudo apt-get update
7937
sudo apt-get -y install tshark
8038
81-
- name: Pull image
82-
run: |
83-
docker pull ghcr.io/${{ github.repository }}:aws-lc
84-
8539
- name: Run
8640
run: |
8741
git clone https://github.com/quic-interop/quic-interop-runner
8842
cd quic-interop-runner
8943
pip install -r requirements.txt --break-system-packages
90-
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
44+
python run.py -j result.json -l logs-chrome -r haproxy=local:aws-lc -t "http3" -c chrome -s haproxy
45+
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
46+
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
47+
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
9148
9249
- name: Delete succeeded logs
9350
if: failure()
9451
run: |
95-
cd quic-interop-runner/logs/haproxy_${{ matrix.suite.client }}
96-
cat ../../result.json | jq -r '.results[][] | select(.result=="succeeded") | .name' | xargs rm -rf
52+
for client in chrome picoquic quic-go ngtcp2; do
53+
pushd quic-interop-runner/logs-${client}/haproxy_${client}
54+
cat ../../result.json | jq -r '.results[][] | select(.result=="succeeded") | .name' | xargs rm -rf
55+
popd
56+
done
9757
9858
- name: Logs upload
9959
if: failure()
10060
uses: actions/upload-artifact@v4
10161
with:
102-
name: logs-${{ matrix.suite.client }}
103-
path: quic-interop-runner/logs/
62+
name: logs
63+
path: quic-interop-runner/logs*/
10464
retention-days: 6

.github/workflows/quic-interop-libressl.yml

Lines changed: 14 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111

1212

1313
jobs:
14-
build:
14+
combined-build-and-run:
1515
runs-on: ubuntu-24.04
1616
if: ${{ github.repository_owner == 'haproxy' || github.event_name == 'workflow_dispatch' }}
1717
permissions:
@@ -21,82 +21,42 @@ jobs:
2121
steps:
2222
- uses: actions/checkout@v5
2323

24-
- name: Log in to the Container registry
25-
uses: docker/login-action@v3
26-
with:
27-
registry: ghcr.io
28-
username: ${{ github.actor }}
29-
password: ${{ secrets.GITHUB_TOKEN }}
30-
31-
- name: Build and push Docker image
24+
- name: Build Docker image
3225
id: push
33-
uses: docker/build-push-action@v5
26+
uses: docker/build-push-action@v6
3427
with:
3528
context: https://github.com/haproxytech/haproxy-qns.git
36-
push: true
29+
platforms: linux/amd64
3730
build-args: |
3831
SSLLIB=LibreSSL
39-
tags: ghcr.io/${{ github.repository }}:libressl
40-
41-
- name: Cleanup registry
42-
uses: actions/delete-package-versions@v5
43-
with:
44-
owner: ${{ github.repository_owner }}
45-
package-name: 'haproxy'
46-
package-type: container
47-
min-versions-to-keep: 1
48-
delete-only-untagged-versions: 'true'
49-
50-
run:
51-
needs: build
52-
strategy:
53-
matrix:
54-
suite: [
55-
{ client: picoquic, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,http3,blackhole,amplificationlimit,handshakeloss,transferloss,handshakecorruption,transfercorruption,v2" },
56-
{ client: quic-go, tests: "handshake,transfer,longrtt,chacha20,multiplexing,retry,http3,blackhole,amplificationlimit,transferloss,transfercorruption,v2" }
57-
]
58-
fail-fast: false
59-
60-
name: ${{ matrix.suite.client }}
61-
runs-on: ubuntu-24.04
62-
if: ${{ github.repository_owner == 'haproxy' || github.event_name == 'workflow_dispatch' }}
63-
64-
steps:
65-
- uses: actions/checkout@v5
66-
67-
- name: Log in to the Container registry
68-
uses: docker/login-action@v3
69-
with:
70-
registry: ghcr.io
71-
username: ${{ github.actor }}
72-
password: ${{ secrets.GITHUB_TOKEN }}
32+
tags: local:libressl
7333

7434
- name: Install tshark
7535
run: |
7636
sudo apt-get update
7737
sudo apt-get -y install tshark
7838
79-
- name: Pull image
80-
run: |
81-
docker pull ghcr.io/${{ github.repository }}:libressl
82-
8339
- name: Run
8440
run: |
8541
git clone https://github.com/quic-interop/quic-interop-runner
8642
cd quic-interop-runner
8743
pip install -r requirements.txt --break-system-packages
88-
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
44+
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
45+
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
8946
9047
- name: Delete succeeded logs
9148
if: failure()
9249
run: |
93-
cd quic-interop-runner/logs/haproxy_${{ matrix.suite.client }}
94-
cat ../../result.json | jq -r '.results[][] | select(.result=="succeeded") | .name' | xargs rm -rf
50+
for client in picoquic quic-go; do
51+
pushd quic-interop-runner/logs-${client}/haproxy_${client}
52+
cat ../../result.json | jq -r '.results[][] | select(.result=="succeeded") | .name' | xargs rm -rf
53+
popd
54+
done
9555
9656
- name: Logs upload
9757
if: failure()
9858
uses: actions/upload-artifact@v4
9959
with:
100-
name: logs-${{ matrix.suite.client }}
101-
path: quic-interop-runner/logs/
60+
name: logs
61+
path: quic-interop-runner/logs*/
10262
retention-days: 6

0 commit comments

Comments
 (0)