name: Lint and Test Charts on: pull_request jobs: lint-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Helm uses: azure/setup-helm@v4.2.0 with: version: v3.14.4 - uses: actions/setup-python@v5 with: python-version: '3.x' check-latest: true - name: Set up chart-testing uses: helm/chart-testing-action@v2.6.1 - name: Add repositories run: | for dir in $(ls -d charts/*/); do helm dependency list $dir 2> /dev/null | tail +2 | head -n -1 | awk '{ print "helm repo add " $1 " " $3 }' | while read cmd; do $cmd; done done - 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 "changed=true" >> "$GITHUB_OUTPUT" fi - name: Run chart-testing (lint) if: steps.list-changed.outputs.changed == 'true' && github.ref != 'refs/heads/develop' run: ct lint --target-branch ${{ github.event.repository.default_branch }} --check-version-increment=false - name: Run chart-testing (lint & version) if: github.ref == 'refs/heads/develop' run: ct lint --target-branch main - name: Create kind cluster if: steps.list-changed.outputs.changed == 'true' uses: helm/kind-action@v1.10.0 - name: Run chart-testing (install) if: steps.list-changed.outputs.changed == 'true' && github.ref != 'refs/heads/develop' run: ct install --target-branch ${{ github.event.repository.default_branch }} --skip-clean-up - name: Run chart-testing (install & upgrades) if: github.ref == 'refs/heads/develop' run: ct install --target-branch main --skip-clean-up --upgrade