Refactor test setup: explicit LocalStack installation and improved diagnostics#32
Merged
Merged
Conversation
Dependabot reported critical pgx and grpc advisories in the Go module.\n\nUpgrade pgx and grpc to patched versions so the module no longer resolves vulnerable releases.
The CI e2e suite timed out while the kind helper installed Localstack with the default 5 minute wait as other setup work was still competing for Docker/Kubernetes resources. Install Localstack explicitly after the image build and kind cluster setup complete, and give the Helm release a longer wait timeout so the deployment can become ready on slower runners.
The unpinned localstack chart install started failing after localstack/helm-charts#148 (Mar 2026) switched the chart's default image to localstack/localstack-pro, which requires an auth token and never passes readiness without one, so helm --wait timed out with the Deployment stuck InProgress. - Pin image.repository/tag to the community localstack/localstack:4.12.0 (current when this suite was introduced) via chart values - Pre-pull the image on the host and kind-load it so the node never pulls from Docker Hub (unauthenticated in-node pulls are rate-limited on shared CI runners) - Dump pods, events, deployment describe and localstack logs when a helm install fails so the next failure shows the underlying pod state Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PYtCgvgDiYzJY84y1qecB4
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR refactors the Helm test suite setup to explicitly install LocalStack as a separate Helm chart rather than relying on implicit service setup, and adds comprehensive Kubernetes diagnostics output for debugging failed deployments.
Key Changes
Removed sync-based parallelization: Removed the
sync.WaitGroupthat was parallelizing Docker build and kind cluster creation. Operations now run sequentially for better clarity and error handling.Explicit LocalStack Helm installation: Added dedicated LocalStack Helm chart installation in
BeforeSuitewith:localstack/localstack:4.12.0) to avoid dependency on the pro image that requires authentication10 * time.Minute)IfNotPresent) to use pre-loaded imagesImage pre-loading optimization: Added explicit
docker pullof the LocalStack image on the host before loading into kind, preventing rate-limited unauthenticated pulls from Docker Hub within the cluster.Enhanced diagnostics: Added
dumpKubeDiagnostics()function that captures:kubectl get pods)This function is called when Helm installations fail to surface underlying pod state in CI logs.
Improved error handling: Wrapped both LocalStack and Batch Runner Helm installations with explicit error checking and diagnostics output before assertions.
Implementation Details
https://claude.ai/code/session_01PYtCgvgDiYzJY84y1qecB4