This repo currently has three CI/CD workflows:
- Lint and Test Helm Charts (
.github/workflows/run-lint.yaml)- Runs
helm lintfor all charts. - Runs
ct lint(chart-testing). - Regenerates docs with
helm-docsand fails if docs are outdated.
- Runs
- Chart Render Validation (
.github/workflows/chart-validate.yaml)- Renders all charts with
helm template. - Validates rendered manifests with
kubeconform.
- Renders all charts with
- Release charts (
.github/workflows/release.yaml)- Generates release notes/changelog updates.
- Publishes charts and OCI artifacts.
If you want to add more CI/CD stages, use this checklist:
- Choose the quality gate type
- Lint (YAML/Helm style)
- Render/Schema validation
- Security scanning
- Integration tests (install chart in a real cluster)
- Create a dedicated workflow under
.github/workflows/- Keep each workflow focused and independently debuggable.
- Use path filters
- Trigger only when
charts/**or workflow files change.
- Trigger only when
- Fail fast on generated-file drift
- Continue using
git diff --exit-codefor generated docs.
- Continue using
- Keep tool versions pinned
- Pin action and binary versions to reduce CI drift.
- Add Trivy for container/config scanning on rendered manifests.
- Add Kind-based smoke install:
- create cluster
helm installeach chart- wait for resources
- run chart tests
- Add policy-as-code checks (Kyverno or OPA/Conftest).