name: E2E on: workflow_dispatch: {} pull_request: paths-ignore: - 'solutions/**' - 'assets/**' - 'troubleshooting/**' - ".github/ISSUE_TEMPLATE/*" - 'README.md' - '*.md' branches: - main - release-* env: GO_VERSION: '1.25' GO_REQUIRED_MIN_VERSION: '' USE_EXISTING_CLUSTER: false # set to true to use an existing kind cluster for debugging with act permissions: contents: read jobs: e2e: runs-on: ubuntu-latest steps: - name: add permisson to docker.sock run: sudo chown runner:docker /var/run/docker.sock if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e - name: Checkout uses: actions/checkout@v6.0.2 - name: Setup Go uses: actions/setup-go@v6 with: go-version: ${{ env.GO_VERSION }} - name: Setup kind uses: engineerd/setup-kind@v0.6.2 with: version: v0.22.0 skipClusterCreation: ${{ env.USE_EXISTING_CLUSTER }} - name: Set KUBECONFIG run: | mkdir -p /home/runner/.kube kind get kubeconfig > /home/runner/.kube/config if: ${{ env.USE_EXISTING_CLUSTER }} - name: Test E2E run: | IMAGE_TAG=e2e make test-e2e env: KUBECONFIG: /home/runner/.kube/config e2e-hosted: runs-on: ubuntu-latest steps: - name: add permisson to docker.sock run: sudo chown runner:docker /var/run/docker.sock if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e - name: Checkout uses: actions/checkout@v6.0.2 - name: Setup Go uses: actions/setup-go@v6 with: go-version: ${{ env.GO_VERSION }} - name: Setup kind uses: engineerd/setup-kind@v0.6.2 with: version: v0.22.0 skipClusterCreation: ${{ env.USE_EXISTING_CLUSTER }} - name: Set KUBECONFIG run: | mkdir -p /home/runner/.kube kind get kubeconfig > /home/runner/.kube/config if: ${{ env.USE_EXISTING_CLUSTER }} - name: Test E2E run: | IMAGE_TAG=e2e KLUSTERLET_DEPLOY_MODE=SingletonHosted make test-e2e env: KUBECONFIG: /home/runner/.kube/config e2e-singleton: runs-on: ubuntu-latest steps: - name: add permisson to docker.sock run: sudo chown runner:docker /var/run/docker.sock if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e - name: Checkout uses: actions/checkout@v6.0.2 - name: Setup Go uses: actions/setup-go@v6 with: go-version: ${{ env.GO_VERSION }} - name: Setup kind uses: engineerd/setup-kind@v0.6.2 with: version: v0.22.0 skipClusterCreation: ${{ env.USE_EXISTING_CLUSTER }} - name: Set KUBECONFIG run: | mkdir -p /home/runner/.kube kind get kubeconfig > /home/runner/.kube/config if: ${{ env.USE_EXISTING_CLUSTER }} - name: Test E2E run: | IMAGE_TAG=e2e KLUSTERLET_DEPLOY_MODE=Singleton make test-e2e env: KUBECONFIG: /home/runner/.kube/config e2e-grpc: runs-on: ubuntu-latest steps: - name: add permisson to docker.sock run: sudo chown runner:docker /var/run/docker.sock if: ${{ env.ACT }} # this step only runs locally when using the https://github.com/nektos/act to debug the e2e - name: Checkout uses: actions/checkout@v6.0.2 - name: Setup Go uses: actions/setup-go@v6 with: go-version: ${{ env.GO_VERSION }} - name: Setup kind uses: engineerd/setup-kind@v0.6.2 with: version: v0.22.0 skipClusterCreation: ${{ env.USE_EXISTING_CLUSTER }} - name: Set KUBECONFIG run: | mkdir -p /home/runner/.kube kind get kubeconfig > /home/runner/.kube/config if: ${{ env.USE_EXISTING_CLUSTER }} - name: Test E2E run: | IMAGE_TAG=e2e REGISTRATION_DRIVER=grpc make test-e2e env: KUBECONFIG: /home/runner/.kube/config