Nightly E2E Smoke (Kind) #41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Nightly E2E Smoke (Kind) | |
| on: | |
| schedule: | |
| # 02:00 UTC daily | |
| - cron: "0 2 * * *" | |
| workflow_dispatch: | |
| concurrency: | |
| group: nightly-e2e-kind-smoke | |
| cancel-in-progress: false | |
| env: | |
| GO_VERSION: "1.25" | |
| jobs: | |
| e2e-kind-smoke: | |
| name: E2E (Kind smoke) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| - uses: helm/kind-action@v1 | |
| with: | |
| cluster_name: imp-nightly-smoke | |
| - name: Install Helm | |
| uses: azure/setup-helm@v4 | |
| - name: Build local E2E images | |
| run: | | |
| docker build -f Dockerfile.operator -t local/imp-operator:e2e . | |
| docker build -f Dockerfile.agent -t local/imp-agent:e2e . | |
| - name: Load local E2E images into Kind | |
| run: | | |
| kind load docker-image local/imp-operator:e2e --name imp-nightly-smoke | |
| kind load docker-image local/imp-agent:e2e --name imp-nightly-smoke | |
| - name: Run E2E tests (retry once) | |
| run: | | |
| set -euo pipefail | |
| FILTER='smoke' | |
| if ! go test -tags e2e ./test/e2e/... -v -timeout 30m -ginkgo.label-filter="${FILTER}"; then | |
| echo "First run failed; retrying once..." | |
| go test -tags e2e ./test/e2e/... -v -timeout 30m -ginkgo.label-filter="${FILTER}" | |
| fi | |
| - name: Collect diagnostics on failure | |
| if: failure() | |
| run: | | |
| mkdir -p artifacts | |
| kubectl get nodes -o wide > artifacts/nodes.txt || true | |
| kubectl get pods -A -o wide > artifacts/pods-all.txt || true | |
| kubectl get events -A --sort-by=.lastTimestamp > artifacts/events.txt || true | |
| kubectl -n imp-system get all > artifacts/imp-system-all.txt || true | |
| kubectl -n imp-system describe pods > artifacts/imp-system-pods-describe.txt || true | |
| kubectl -n imp-system logs deploy/imp-operator --all-containers > artifacts/imp-operator-logs.txt || true | |
| kubectl -n imp-system logs ds/imp-agent --all-containers > artifacts/imp-agent-logs.txt || true | |
| - name: Upload diagnostics | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: nightly-e2e-kind-smoke-diagnostics | |
| path: artifacts/ |