# See https://github.com/helm/chart-testing-action name: Lint and Test Charts on: [pull_request, workflow_dispatch] jobs: lint-test: runs-on: ubuntu-latest strategy: matrix: k8s: ["1.19.16", "1.21.14", "1.22.9", "1.23.12", "1.24.7", "1.25.2"] steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 persist-credentials: false - name: Install Helm uses: azure/setup-helm@18bc76811624f360dbd7f18c2d4ecb32c7b87bab # v1.1 # TODO: update version with: version: v3.7.0 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: '3.8' - name: Install chart-testing uses: helm/chart-testing-action@5f16c27cf7a4fa9c776ff73734df3909b2b65127 # v2.1.0 - name: Run chart-testing (list-changed) id: list-changed run: | changed=$(ct list-changed --config ct.yaml) if [[ -n "$changed" ]]; then echo "CHART_CHANGED=true" >> $GITHUB_ENV fi - name: Run chart-testing (lint) run: ct lint --config ct.yaml - name: Create kind cluster uses: helm/kind-action@9e8295d178de23cbfbd8fa16cf844eec1d773a07 # v1.4.0 with: node_image: kindest/node:v${{ matrix.k8s }} kubectl_version: v${{ matrix.k8s }} if: ${{ env.CHART_CHANGED == 'true' }} # See https://github.com/helm/chart-testing/blob/main/doc/ct_install.md - name: Run chart-testing (install) run: ct install --config ct.yaml --debug