diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 39c1d22..dff20f1 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -45,49 +45,18 @@ jobs: - name: Setup kubectl uses: azure/setup-kubectl@v4 - - name: Get kubeconfig via kubectl config + - name: Get kubeconfig run: | set -euo pipefail - echo "HOME=${HOME}" - echo "KUBERNETES_SERVICE_HOST=${KUBERNETES_SERVICE_HOST:-}" - echo "KUBERNETES_SERVICE_PORT=${KUBERNETES_SERVICE_PORT:-}" - echo "Checking service account token..." - if [ -f /var/run/secrets/kubernetes.io/serviceaccount/token ]; then - echo "Service account token found" - KUBECONFIG=/tmp/kubeconfig-incluster - cat > "$KUBECONFIG" <> "$GITHUB_ENV" - else - echo "::error::No service account token found" - exit 1 - fi - echo "Testing kubectl apply dry-run (no KUBECONFIG set)..." - kubectl apply -f deployment/e2e-ci-runner-rbac.yaml --dry-run=server 2>&1 | head -5 || true - echo "Testing kubectl apply dry-run with KUBECONFIG=${KUBECONFIG}..." - KUBECONFIG=/tmp/kubeconfig-incluster kubectl apply -f deployment/e2e-ci-runner-rbac.yaml --dry-run=server 2>&1 | head -5 || true - echo "Testing kubectl auth can-i (no KUBECONFIG)..." - kubectl auth can-i create roles -n headlamp-dev 2>&1 || true - echo "Testing kubectl auth can-i (with KUBECONFIG)..." - KUBECONFIG=/tmp/kubeconfig-incluster kubectl auth can-i create roles -n headlamp-dev 2>&1 || true + for path in /runner /runner/config "$HOME/.kube" "$HOME/.kube/config" /home/runner/.kube /home/runner/.kube/config; do + if [ -f "$path" ]; then + echo "KUBECONFIG=${path}" >> "$GITHUB_ENV" + echo "Found kubeconfig at ${path}" + kubectl cluster-info --request-timeout=5s + exit 0 + fi + done + echo "No kubeconfig found; kubectl will use default config" - name: Apply RBAC for E2E pipeline run: |