Skip to content

GatewayAPI e2e tests (#1052) #1103

GatewayAPI e2e tests (#1052)

GatewayAPI e2e tests (#1052) #1103

Workflow file for this run

name: e2e tests
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
e2e_tests:
runs-on: ubuntu-latest
name: Execute e2e test on AMD64 ${{ matrix.kubernetesVersion }}
strategy:
fail-fast: false
matrix:
kubernetesVersion: [v1.30, v1.29, v1.28]
include:
- kubernetesVersion: v1.30
kindImage: kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e
- kubernetesVersion: v1.29
kindImage: kindest/node:v1.29.4@sha256:3abb816a5b1061fb15c6e9e60856ec40d56b7b52bcea5f5f1350bc6e2320b6f8
- kubernetesVersion: v1.28
kindImage: kindest/node:v1.28.9@sha256:dca54bc6a6079dd34699d53d7d4ffa2e853e46a20cd12d619a09207e35300bd0
steps:
- name: Install prerequisites
run: |
sudo apt update
sudo apt install curl make ca-certificates gcc libc-dev -y
env:
DEBIAN_FRONTEND: noninteractive
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v4.1
with:
go-version: "1.22"
- name: Helm install
uses: Azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
- name: Create k8s ${{ matrix.kubernetesVersion }} Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
with:
node_image: ${{ matrix.kindImage }}
cluster_name: cluster
config: .github/kind.yaml
- name: Generate images and push to the cluster
run: |
make docker-build
kind load docker-image ghcr.io/kedacore/http-add-on-operator:${VERSION} --name cluster
kind load docker-image ghcr.io/kedacore/http-add-on-interceptor:${VERSION} --name cluster
kind load docker-image ghcr.io/kedacore/http-add-on-scaler:${VERSION} --name cluster
env:
VERSION: ${{ github.sha }}
- name: Show Kubernetes version
run: |
kubectl version
- name: Run e2e test
run: |
make e2e-test
env:
VERSION: ${{ github.sha }}
arm_image_generation:
runs-on: ARM64
name: Generate ARM64 images for e2e tests
steps:
- name: Install prerequisites
run: |
sudo apt update
sudo apt install curl make ca-certificates gcc libc-dev -y
env:
DEBIAN_FRONTEND: noninteractive
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Generate images
run: |
make docker-build
env:
VERSION: ${{ github.sha }}
arm_e2e_tests:
runs-on: http-add-on-e2e
needs: arm_image_generation
name: Execute e2e test on ARM64 ${{ matrix.kubernetesVersion }}
env:
KUBECONFIG: ${{ github.workspace }}/.kube/config
strategy:
fail-fast: false
matrix:
kubernetesVersion: [v1.30, v1.29, v1.28]
include:
- kubernetesVersion: v1.30
kindImage: kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e
- kubernetesVersion: v1.29
kindImage: kindest/node:v1.29.4@sha256:3abb816a5b1061fb15c6e9e60856ec40d56b7b52bcea5f5f1350bc6e2320b6f8
- kubernetesVersion: v1.28
kindImage: kindest/node:v1.28.9@sha256:dca54bc6a6079dd34699d53d7d4ffa2e853e46a20cd12d619a09207e35300bd0
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v4.1
with:
go-version: "1.22"
- name: Helm install
uses: Azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
- name: Create k8s ${{ matrix.kubernetesVersion }} Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
with:
node_image: ${{ matrix.kindImage }}
cluster_name: ${{ runner.name }}
config: .github/kind.yaml
- name: Push images to the cluster
run: |
kind load docker-image ghcr.io/kedacore/http-add-on-operator:${VERSION} --name ${{ runner.name }}
kind load docker-image ghcr.io/kedacore/http-add-on-interceptor:${VERSION} --name ${{ runner.name }}
kind load docker-image ghcr.io/kedacore/http-add-on-scaler:${VERSION} --name ${{ runner.name }}
env:
VERSION: ${{ github.sha }}
- name: Show Kubernetes version
run: |
kubectl version
- name: Run e2e test
run: |
make e2e-test
env:
VERSION: ${{ github.sha }}