ci(helm): add kube gateway e2e tests and gated CI workflow#1251
Open
TaylorMutch wants to merge 2 commits intomainfrom
Open
ci(helm): add kube gateway e2e tests and gated CI workflow#1251TaylorMutch wants to merge 2 commits intomainfrom
TaylorMutch wants to merge 2 commits intomainfrom
Conversation
5142e05 to
d124c57
Compare
Signed-off-by: Taylor Mutch <taylormutch@gmail.com>
Adds a label-gated GitHub Actions workflow that exercises the Helm chart end-to-end against the Rust e2e suite via `mise run e2e:helm`. Pipeline: - pr_metadata gates on the `test:e2e-helm` label via the pr-gate action. - build-gateway / build-supervisor build and push Docker images using the reusable docker-build.yml workflow. - helm-e2e (bare runner): apt-installs z3 build deps so cargo can compile the openshell-policy crate's z3-sys backend, creates a kind cluster via helm/kind-action, materializes the kind kubeconfig at the path mise's [env] block expects, side-loads the freshly built gateway/supervisor images, applies deploy/kube/manifests/agent-sandbox.yaml so the sandboxes.agents.x-k8s.io CRD and reconciling StatefulSet are in place, and finally runs `mise run e2e:helm`. Also expands the `e2e:helm` task to run the full Rust e2e suite (matching `e2e:podman`) instead of only the smoke test, with OPENSHELL_E2E_KUBE_TEST as an opt-in single-test override for local debugging. Extends the e2e-label-help workflow so applying `test:e2e-helm` posts the next-step hint pointing at this workflow. Signed-off-by: Taylor Mutch <taylormutch@gmail.com>
d124c57 to
e8be9a2
Compare
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
Adds a Helm-backed Kubernetes e2e harness (
mise run e2e:helm) and aBranch Helm E2Eworkflow gated on thetest:e2e-helmlabel, so Helm chart and gateway packaging changes can be exercised end-to-end on demand against a real kind cluster.This is take 2 of the kube e2e CI work; the previous k3d-in-container attempt (commit 4b5961fe) hit nested-Docker / kubeconfig issues, so this version uses a bare runner with
helm/kind-actionand side-loads images into kind.Related Issue
N/A — infrastructure follow-up to the earlier kube gateway e2e work.
Changes
e2e/with-kube-gateway.shwrapper:OPENSHELL_E2E_KUBE_CONTEXTis set, installs the chart into an ephemeral namespace on the existing context (CI path).tasks/scripts/helm-k3s-local.shand tears it down on exit (dev path).gateway/supervisorimages, helm-installs withci/values-tls-disabled.yaml, port-forwardssvc/openshell, registers a plaintext gateway, and runs the supplied command withOPENSHELL_E2E_DRIVER=kubernetes.e2e/rust/e2e-helm.shthat buildsopenshell-cliand runs the Rustsmokee2e test through the wrapper.e2e:helmmise task wired up intasks/test.toml..github/workflows/branch-helm-e2e.yml:pull-request/*push andworkflow_dispatch../.github/actions/pr-gateontest:e2e-helm.gatewayandsupervisorDocker images via the reusabledocker-build.ymlworkflow.helm/kind-action, materializes the kubeconfig at the mise-expected path, side-loads images tagged with${{ github.sha }}, and runsmise run --no-deps --skip-deps e2e:helm..github/workflows/e2e-label-help.ymlto post the next-step hint whentest:e2e-helmis applied.Testing
mise run pre-commitpassestest:e2e-helmlabel is applied so the new Branch Helm E2E workflow runs on this PRChecklist