47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
name: Helm lint
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
chart-directory:
|
|
description: |
|
|
Root directory of the Helm chart.
|
|
Example: `charts/my-app`.
|
|
type: string
|
|
default: '.'
|
|
helm-version:
|
|
description: |
|
|
Helm version to install.
|
|
Example: `v3.14.0`. Defaults to `latest`.
|
|
type: string
|
|
default: 'latest'
|
|
runs-on:
|
|
description: 'Runner label to use for the job.'
|
|
type: string
|
|
default: 'ubuntu-latest'
|
|
|
|
jobs:
|
|
lint:
|
|
name: Lint Helm chart
|
|
runs-on: ${{ inputs.runs-on }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
|
|
- name: Setup Helm
|
|
uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0
|
|
with:
|
|
version: ${{ inputs.helm-version }}
|
|
|
|
- name: Update Helm dependencies
|
|
run: |
|
|
if grep -q '^dependencies:' "${{ inputs.chart-directory }}/Chart.yaml" 2>/dev/null; then
|
|
helm dependency update "${{ inputs.chart-directory }}"
|
|
fi
|
|
|
|
- name: Helm lint
|
|
run: helm lint "${{ inputs.chart-directory }}"
|
|
|
|
- name: Helm template (dry-run)
|
|
run: helm template test-release "${{ inputs.chart-directory }}" --debug > /dev/null
|