Skip to content

ci: add install mission validation test (KubeStellar Console)#109

Open
clubanderson wants to merge 1 commit into
confidential-containers:mainfrom
clubanderson:ci/kubestellar-install-mission-test
Open

ci: add install mission validation test (KubeStellar Console)#109
clubanderson wants to merge 1 commit into
confidential-containers:mainfrom
clubanderson:ci/kubestellar-install-mission-test

Conversation

@clubanderson

Copy link
Copy Markdown

Summary

  • Adds a new GitHub Actions workflow (.github/workflows/kubestellar-install-mission-test.yml) that validates the documented Confidential Containers install mission steps work end-to-end
  • The workflow spins up a kind cluster, installs the chart from the OCI registry (oci://ghcr.io/confidential-containers/charts/confidential-containers), waits for pods to be ready, validates the Helm release status, then cleans up
  • Runs on push to main (when chart/values/templates change), weekly on Sundays, and via manual workflow_dispatch

Motivation

The KubeStellar Console provides guided install missions for CNCF projects including Confidential Containers. This CI test ensures the install steps remain functional as the chart evolves, catching regressions before users encounter them.

Ref: confidential-containers/confidential-containers#354

What the workflow does

  1. Creates a kind cluster (kindest/node:v1.31.6)
  2. Creates the confidential-containers namespace
  3. Runs helm install from the OCI registry with --wait
  4. Polls for all pods to reach Running state (up to 180s)
  5. Validates the Helm release status is deployed
  6. Shows a deployment summary (pods, RuntimeClasses, events)
  7. Cleans up: uninstalls the release, deletes the namespace, tears down kind

Test plan

  • Workflow YAML passes actionlint validation
  • Manual workflow_dispatch run completes successfully on the fork
  • Verify cleanup steps run even on failure (if: always())

Add a GitHub Actions workflow that validates the documented Confidential
Containers install mission steps work end-to-end. The workflow:

- Spins up a kind cluster
- Installs the chart from the OCI registry
- Waits for pods to reach Running state
- Validates the Helm release is deployed
- Cleans up all resources

Runs on push to main (chart file changes), weekly schedule, and manual
dispatch.

Ref: confidential-containers/confidential-containers#354

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
@fidencio
fidencio force-pushed the ci/kubestellar-install-mission-test branch from 2c46914 to 59f5fe0 Compare April 29, 2026 08:47

@fidencio fidencio left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@clubanderson, sorry for the time it took me to get to this one, I've been busy.

Basically we need some changes in order to make sure the tests can be accept and tests at least that the deployed content works.

# 1. Checkout (needed only for workflow file itself)
# ------------------------------------------------------------------
- name: Checkout repository
uses: actions/checkout@v4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We need to update checkout here, it's very old.

# 2. Create a kind cluster
# ------------------------------------------------------------------
- name: Create kind cluster
uses: helm/kind-action@v1

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think a kind cluster will work for Kata Containers / Confidential Containers.

echo "--- Events (last 50) ---"
kubectl get events -n "${INSTALL_NAMESPACE}" \
--sort-by='.lastTimestamp' 2>/dev/null | tail -50 || true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Ideally we should start at least one pod using the kata-qemu-coco-dev runtimeClass.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants