#### THIS IS A TEMPLATE #### # This workflow is created to be a template for every time an e2e test 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: cache uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 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 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@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 if: success() || failure() with: name: e2e-test-reports-${{ inputs.k8s-version }}${{ inputs.variation }} path: 'test/junitreports/report*.xml'