#### THIS IS A TEMPLATE #### # This workflow is created to be a template for every time an e2e teest is required, on: workflow_call: inputs: k8s-version: required: true type: string variation: type: string permissions: contents: read jobs: kubernetes: name: Kubernetes ${{ inputs.variation }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: cache uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 with: name: docker.tar.gz - name: Create Kubernetes ${{ inputs.k8s-version }} cluster id: kind run: | kind create cluster --image=kindest/node:${{ inputs.k8s-version }} --config test/e2e/kind.yaml - name: Load images from cache run: | echo "loading docker images..." gzip -dc docker.tar.gz | docker load - name: Run e2e tests ${{ inputs.variation }} env: KIND_CLUSTER_NAME: kind SKIP_CLUSTER_CREATION: true SKIP_INGRESS_IMAGE_CREATION: true SKIP_E2E_IMAGE_CREATION: true ENABLE_VALIDATIONS: ${{ inputs.variation == 'VALIDATIONS' }} IS_CHROOT: ${{ inputs.variation == 'CHROOT' }} run: | kind get kubeconfig > $HOME/.kube/kind-config-kind make kind-e2e-test - name: Upload e2e junit-reports ${{ inputs.variation }} uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 if: success() || failure() with: name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }} path: 'test/junitreports/report*.xml'