From 9b36afb8d9f3d64123c289e01532c7b35c482c2a Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 3 May 2026 17:47:30 +0000 Subject: [PATCH] ci(validate-kubernetes): pass --validate=false to kubectl dry-run kubectl 1.34 (azure/setup-kubectl@v3) defaults to server-side validation, which tries to reach a kube-apiserver at localhost:8080. CI runners don't have one, so every kubectl apply --dry-run=client invocation in this job exits 1 with "dial tcp [::1]:8080: connect: connection refused". This failure was masked on main because Prepare all required actions failed first on the broken ludovico85/kube-score-action@v1 pin; once that pin was fixed in the prior commit on this branch, kubectl became reachable and surfaced the next layer of failure. --validate=false disables the API-server roundtrip but keeps client-side YAML parsing, which is the only validation the runner can actually perform without a cluster. Co-Authored-By: Nakamoto, S --- .github/workflows/validation.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 573c474..ff6fefc 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -54,10 +54,13 @@ jobs: - name: Validate Kubernetes manifests run: | - kubectl apply --dry-run=client -f k8s/base/namespace.yaml - kubectl apply --dry-run=client -f k8s/base/validators/statefulset.yaml - kubectl apply --dry-run=client -f k8s/base/sentries/statefulset.yaml - kubectl apply --dry-run=client -f k8s/base/rpc/statefulset.yaml + # --validate=false: kubectl 1.34's default server-side validation + # tries to hit a kube-apiserver at localhost:8080 which isn't + # available in CI. Client-side YAML parsing still runs. + kubectl apply --dry-run=client --validate=false -f k8s/base/namespace.yaml + kubectl apply --dry-run=client --validate=false -f k8s/base/validators/statefulset.yaml + kubectl apply --dry-run=client --validate=false -f k8s/base/sentries/statefulset.yaml + kubectl apply --dry-run=client --validate=false -f k8s/base/rpc/statefulset.yaml - name: Install kube-score run: |