From f3e914dc8f4173b4343ebcefa0d929be4e95aaa2 Mon Sep 17 00:00:00 2001 From: Armel Soro Date: Fri, 5 Jul 2024 17:08:47 +0200 Subject: [PATCH] Run E2E tests against all versions of K8s we claim support for --- .github/workflows/nightly.yaml | 43 +++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index ca29663f..6f65df42 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -8,14 +8,50 @@ on: jobs: e2e-tests: + name: 'E2E Tests (${{ matrix.k8s_version }}) - ${{ matrix.branch }}' runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false matrix: branch: [ main, 1.2.x, 1.1.x ] - name: E2E Tests - ${{ matrix.branch }} + experimental: [ false ] + k8s_version: + # See https://access.redhat.com/solutions/4870701 for the mapping between OpenShift 4.x and Kubernetes versions. + # Per https://access.redhat.com/support/policy/updates/developerhub, we want support for OCP 4.12+, so K8s v1.25+ + - v1.25.16 # OCP 4.12 + - v1.26.15 # OCP 4.13 + - v1.27.15 # OCP 4.14 + - v1.28.11 # OCP 4.15 + include: + # These are upcoming versions that we don't explicitly claim support for but still want to test against. + # Marked as experimental so as not to fail the build, but we still want to capture any useful information in advance in case of failures. + - k8s_version: v1.29.6 # OCP 4.16 (not claimed as supported yet) + branch: main + experimental: true + - k8s_version: latest + branch: main + experimental: true + - k8s_version: v1.29.6 # OCP 4.16 (not claimed as supported yet) + branch: 1.2.x + experimental: true + - k8s_version: latest + branch: 1.2.x + experimental: true + - k8s_version: v1.29.6 # OCP 4.16 (not claimed as supported yet) + branch: 1.1.x + experimental: true + - k8s_version: latest + branch: 1.1.x + experimental: true + exclude: + # These are the combinations not supported at all and should be excluded + - branch: 1.2.x + k8s_version: v1.25.16 # OCP v4.12 not supported in 1.2 + - branch: main + k8s_version: v1.25.16 # OCP 4.12 not supported in 1.3+ concurrency: - group: ${{ github.workflow }}-${{ matrix.branch }} + group: '${{ github.workflow }}-${{ matrix.branch }}-${{ matrix.k8s_version }}' cancel-in-progress: true env: CONTAINER_ENGINE: podman @@ -49,9 +85,10 @@ jobs: - name: Start Minikube if: ${{ steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }} - uses: medyagh/setup-minikube@317d92317e473a10540357f1f4b2878b80ee7b95 # v0.0.16 + uses: medyagh/setup-minikube@d8c0eb871f6f455542491d86a574477bd3894533 # v0.0.18 with: addons: ingress + kubernetes-version: ${{ matrix.k8s_version }} - name: Run E2E tests (Operator Upgrade path) # Testing upgrade from 1.1.x