ci: add helm lint and template validation on PRs#173
ci: add helm lint and template validation on PRs#173camjay wants to merge 2 commits intoPortkey-AI:mainfrom
Conversation
Runs helm lint and helm template for all charts on pull requests that touch files under charts/. Catches template rendering errors before merge. Uses the same Helm version (v3.12.0) and setup action as release.yaml.
65fa2c3 to
1c588f1
Compare
There was a problem hiding this comment.
Pull request overview
Adds a pull-request CI workflow to validate Helm charts when changes touch charts/, helping catch templating/lint issues before merge and aligning Helm setup with the existing chart release workflow.
Changes:
- Introduce a new PR-triggered GitHub Actions workflow scoped to
charts/**changes. - Run
helm lintacross each chart directory undercharts/. - Run
helm templateacross each chart directory undercharts/.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| jobs: | ||
| lint-and-template: | ||
| runs-on: ubuntu-latest | ||
| steps: |
There was a problem hiding this comment.
Consider explicitly setting minimal permissions for this workflow/job (e.g., contents: read). Without an explicit permissions block, the workflow inherits the repository’s default GITHUB_TOKEN permissions, which may be broader than needed for checkout + helm lint/template.
There was a problem hiding this comment.
@camjay can you set explicit minimal permissions?
There was a problem hiding this comment.
Addressed in 1a83f65 — permissions: contents: read added at job level, consistent with the release workflow.
| jobs: | ||
| lint-and-template: | ||
| runs-on: ubuntu-latest | ||
| steps: |
There was a problem hiding this comment.
@camjay can you set explicit minimal permissions?
Adds a CI workflow that runs
helm lintandhelm templatefor all charts on pull requests that touchcharts/.Catches template rendering errors (missing values, broken Go templates, invalid YAML) before merge. Uses the same Helm version and setup action as the existing
release.yaml.