name: Lint and Test Charts on: pull_request: push: branches: - main jobs: lint-test: runs-on: ubuntu-latest strategy: matrix: # Latest k8s versions. There's no series-based tag, nor is there a latest tag. k8s: - 1.19.16 - 1.20.15 - 1.21.12 - 1.22.9 - 1.23.6 - 1.24.0 steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up Helm uses: azure/setup-helm@v1 with: version: v3.8.1 - uses: actions/setup-python@v2 with: python-version: 3.7 - name: Set up chart-testing uses: helm/chart-testing-action@v2.2.1 - name: Run chart-testing (list-changed) id: list-changed run: | changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) if [[ -n "$changed" ]]; then echo "::set-output name=changed::true" fi - name: Run chart-testing (lint) run: ct lint --target-branch ${{ github.event.repository.default_branch }} - name: Create kind cluster uses: helm/kind-action@v1.2.0 with: version: "v0.13.0" node_image: "kindest/node:v${{ matrix.k8s }}" # Only build a kind cluster if there are chart changes to test. if: steps.list-changed.outputs.changed == 'true' - name: Run chart-testing (install) run: ct install if: steps.list-changed.outputs.changed == 'true'