name: Helm on: push: branches: - master - release-* paths: - 'charts/**' - '.github/workflows/helm.yaml' - '.github/ci/ct.yaml' pull_request: paths: - 'charts/**' - '.github/workflows/helm.yaml' - '.github/ci/ct.yaml' jobs: lint-and-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Helm uses: azure/setup-helm@v2.1 with: version: v3.9.2 - uses: actions/setup-python@v3.1.2 with: python-version: 3.7 - uses: actions/setup-go@v3 with: go-version: '1.22.3' - name: Set up chart-testing uses: helm/chart-testing-action@v2.2.1 with: version: v3.7.0 - name: Run chart-testing (list-changed) id: list-changed run: | changed=$(ct list-changed --config=.github/ci/ct.yaml) if [[ -n "$changed" ]]; then echo "changed=true" >> $GITHUB_OUTPUT fi - name: Run chart-testing (lint) run: ct lint --config=.github/ci/ct.yaml --validate-maintainers=false # Need a multi node cluster so descheduler runs until evictions - name: Create multi node Kind cluster run: make kind-multi-node # helm-extra-set-args only available after ct 3.6.0 - name: Run chart-testing (install) run: ct install --config=.github/ci/ct.yaml --helm-extra-set-args='--set=kind=Deployment'