Skip to content

fix(ci): add missing kubectl/kind version env vars to local-dev-simulation#414

Draft
squizzi wants to merge 3 commits into
mainfrom
squizzi/fix-ci-kubectl-download
Draft

fix(ci): add missing kubectl/kind version env vars to local-dev-simulation#414
squizzi wants to merge 3 commits into
mainfrom
squizzi/fix-ci-kubectl-download

Conversation

@squizzi

@squizzi squizzi commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

The test-local-dev-simulation job in test-local-dev.yml was failing because KUBECTL_VERSION and KIND_VERSION environment variables were never defined. The curl download URLs expanded to broken paths (e.g. /release//bin/linux/amd64/kubectl), causing GCS to return an XML error page that was saved as the kubectl binary.

This adds the missing env: block with KUBECTL_VERSION: v1.31.4 and KIND_VERSION: v0.31.0, matching the values used in vteam-catalog-lab-e2e.yml.

Test plan

  • CI should pass the test-local-dev-simulation job without the kubectl syntax error
  • Verify kubectl version --client and kind version succeed in the workflow logs

squizzi and others added 2 commits July 23, 2026 09:57
…t-local-dev-simulation

The test-local-dev-simulation job referenced ${KUBECTL_VERSION} and
${KIND_VERSION} in curl download URLs without defining them, causing
the variables to expand to empty strings and producing broken URLs
that returned XML error pages instead of binaries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Kyle Squizzato <kysquizz@redhat.com>
- Increase sandbox pod readiness timeout from 60s to 180s (root cause of
  3 cascading failures in CI)
- Use _delete_session helper instead of bare DELETE + sleep 2 for proper
  pod cleanup before starting short-running session
- Skip completion check when LLM response was never received to avoid
  wasting 120s on a guaranteed timeout
- Move gateway readiness wait before port-forward attempt in network
  policy section to avoid connecting to a restarting pod
- Increase port-forward log wait from 6s to 15s for CI reliability

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JuanmaBM
JuanmaBM force-pushed the squizzi/fix-ci-kubectl-download branch from 2a95ab8 to 46023a2 Compare July 23, 2026 11:34
The control plane was sending the K8s ServiceAccount token as Bearer
auth to the gateway, which rejected it with "unknown signing key"
because it validates against its own JWT keys, not the K8s API server's.
Non-OIDC gateways use mTLS for service auth and accept unauthenticated
requests, so clearing the SA token path avoids the spurious validation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@jsell-rh jsell-rh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Amber Review

The CI fix is correct and targeted. The three companion improvements in gateway-e2e-test.sh are all clearly better than what they replace.

What I verified:

  • KUBECTL_VERSION: v1.31.4 / KIND_VERSION: v0.31.0 match vteam-catalog-lab-e2e.yml — consistent.
  • Pod-ready wait extended from 60 s (30 × 2 s) to 180 s (90 × 2 s) with a comment explaining why (Kind CI is slow) — correct call.
  • Short-session completion check now gated on SHORT_LLM_FOUND > 0 — avoids a spurious fail when LLM never responds.
  • _delete_session instead of raw api DELETE + sleep 2 — uses the canonical helper, consistent with the rest of the script.
  • OPENSHELL_GATEWAY_SA_TOKEN_PATH="" env var cleared before gateway port-forward is established — sequence makes the comment trustworthy.

Minor (no action needed): This is marked Draft with 3 commits — squash before marking ready if not already planned.

No blockers.

— Amber

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants