Skip to content

Commit fe95eac

Browse files
authored
ci: use GitHub-hosted ARM64 runners for e2e tests (#1389)
* ci: use GitHub-hosted ARM64 runners for e2e tests Replace self-hosted ARM64 runners with GitHub's free ubuntu-24.04-arm runners. Consolidate three jobs into one unified matrix job. Signed-off-by: Vincent Link <vlink@redhat.com> * test: use multi-arch websocat image for ARM64 e2e tests The v1.14.0 tag was amd64-only. The :latest tag includes arm64 support added in vi/websocat#283 Signed-off-by: Vincent Link <vlink@redhat.com> --------- Signed-off-by: Vincent Link <vlink@redhat.com>
1 parent 1c25ec9 commit fe95eac

File tree

3 files changed

+20
-86
lines changed

3 files changed

+20
-86
lines changed

.github/workflows/e2e-tests.yaml

Lines changed: 17 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,23 @@ permissions:
1414

1515
jobs:
1616
e2e_tests:
17-
runs-on: ubuntu-latest
18-
name: Execute e2e test on AMD64 ${{ matrix.kubernetesVersion }}
17+
runs-on: ${{ matrix.runner }}
18+
name: e2e ${{ matrix.arch }} / ${{ matrix.kindVersion }}
1919
strategy:
2020
fail-fast: false
2121
matrix:
22-
kubernetesVersion: [v1.33, v1.32, v1.31]
22+
arch:
23+
- AMD64
24+
- ARM64
25+
kindVersion:
26+
- v1.33.4
27+
- v1.32.8
28+
- v1.31.12
2329
include:
24-
- kubernetesVersion: v1.33
25-
kindImage: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2
26-
- kubernetesVersion: v1.32
27-
kindImage: kindest/node:v1.32.8@sha256:abd489f042d2b644e2d033f5c2d900bc707798d075e8186cb65e3f1367a9d5a1
28-
- kubernetesVersion: v1.31
29-
kindImage: kindest/node:v1.31.12@sha256:0f5cc49c5e73c0c2bb6e2df56e7df189240d83cf94edfa30946482eb08ec57d2
30+
- arch: AMD64
31+
runner: ubuntu-latest
32+
- arch: ARM64
33+
runner: ubuntu-24.04-arm
3034
steps:
3135
- name: Install prerequisites
3236
run: |
@@ -44,10 +48,10 @@ jobs:
4448
- name: Helm install
4549
uses: Azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
4650

47-
- name: Create k8s ${{ matrix.kubernetesVersion }} Kind Cluster
51+
- name: Create Kind Cluster
4852
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
4953
with:
50-
node_image: ${{ matrix.kindImage }}
54+
node_image: kindest/node:${{ matrix.kindVersion }}
5155
cluster_name: cluster
5256
version: v0.30.0
5357

@@ -61,81 +65,9 @@ jobs:
6165
VERSION: ${{ github.sha }}
6266

6367
- name: Show Kubernetes version
64-
run: |
65-
kubectl version
66-
- name: Run e2e test
67-
run: |
68-
make e2e-test
69-
env:
70-
VERSION: ${{ github.sha }}
71-
72-
arm_image_generation:
73-
runs-on: ARM64
74-
name: Generate ARM64 images for e2e tests
75-
steps:
76-
- name: Install prerequisites
77-
run: |
78-
sudo apt update
79-
sudo apt install curl make ca-certificates gcc libc-dev -y
80-
env:
81-
DEBIAN_FRONTEND: noninteractive
82-
83-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
84-
85-
- name: Generate images
86-
run: |
87-
make docker-build
88-
env:
89-
VERSION: ${{ github.sha }}
90-
91-
arm_e2e_tests:
92-
runs-on: http-add-on-e2e
93-
needs: arm_image_generation
94-
name: Execute e2e test on ARM64 ${{ matrix.kubernetesVersion }}
95-
env:
96-
KUBECONFIG: ${{ github.workspace }}/.kube/config
97-
strategy:
98-
fail-fast: false
99-
matrix:
100-
kubernetesVersion: [v1.33, v1.32, v1.31]
101-
include:
102-
- kubernetesVersion: v1.33
103-
kindImage: kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2
104-
- kubernetesVersion: v1.32
105-
kindImage: kindest/node:v1.32.8@sha256:abd489f042d2b644e2d033f5c2d900bc707798d075e8186cb65e3f1367a9d5a1
106-
- kubernetesVersion: v1.31
107-
kindImage: kindest/node:v1.31.12@sha256:0f5cc49c5e73c0c2bb6e2df56e7df189240d83cf94edfa30946482eb08ec57d2
108-
steps:
109-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4
110-
111-
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
112-
with:
113-
go-version: "1.24.7"
114-
115-
- name: Helm install
116-
uses: Azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
117-
118-
- name: Create k8s ${{ matrix.kubernetesVersion }} Kind Cluster
119-
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
120-
with:
121-
node_image: ${{ matrix.kindImage }}
122-
cluster_name: ${{ runner.name }}
123-
version: v0.30.0
124-
125-
- name: Push images to the cluster
126-
run: |
127-
kind load docker-image ghcr.io/kedacore/http-add-on-operator:${VERSION} --name ${{ runner.name }}
128-
kind load docker-image ghcr.io/kedacore/http-add-on-interceptor:${VERSION} --name ${{ runner.name }}
129-
kind load docker-image ghcr.io/kedacore/http-add-on-scaler:${VERSION} --name ${{ runner.name }}
130-
env:
131-
VERSION: ${{ github.sha }}
132-
133-
- name: Show Kubernetes version
134-
run: |
135-
kubectl version
68+
run: kubectl version
13669

13770
- name: Run e2e test
138-
run: |
139-
make e2e-test
71+
run: make e2e-test
14072
env:
14173
VERSION: ${{ github.sha }}

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ This changelog keeps track of work items that have been completed and are ready
4343

4444
### Other
4545

46+
- **CI**: Use GitHub-hosted ARM64 runners for e2e tests ([#1388](https://github.com/kedacore/http-add-on/issues/1388))
4647
- **DevContainer**: Fix devcontainer build by updating deprecated Go tools ([#1347](https://github.com/kedacore/http-add-on/issues/1347))
4748

4849
## v0.11.1

tests/checks/interceptor_websocket/interceptor_websocket_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,8 @@ spec:
184184
spec:
185185
containers:
186186
- name: websocat-test
187-
image: ghcr.io/vi/websocat:v1.14.0
187+
# v1.14.0 was amd64-only; :latest includes arm64 (https://github.com/vi/websocat/pull/283)
188+
image: ghcr.io/vi/websocat:latest
188189
command: ["/bin/sh"]
189190
args:
190191
- -c

0 commit comments

Comments
 (0)