name: Helm on: pull_request: types: [ "opened", "reopened", "synchronize" ] push: {} workflow_dispatch: {} jobs: helm-lint: container: image: docker.io/volkerraschek/helm:3.16.1 runs-on: - ubuntu-latest steps: - name: Install tooling run: | apk update apk add git npm - name: Check if files were touched uses: dorny/paths-filter@v3.0.2 id: changes with: filters: | yaml: - '**/*.yaml' - '**/*.yml' - name: Skip further steps, when condition is not met if: steps.filter.outputs.yaml == 'false' run: exit 0 - uses: actions/checkout@v4.2.2 - name: Lint helm files run: | helm lint --values values.yaml . helm-unittest: container: image: docker.io/volkerraschek/helm:3.16.1 runs-on: - ubuntu-latest steps: - name: Install tooling run: | apk update apk add git npm - name: Check if files were touched uses: dorny/paths-filter@v3.0.2 id: changes with: filters: | yaml: - '**/*.yaml' - '**/*.yml' - name: Skip further steps, when condition is not met if: steps.filter.outputs.yaml == 'false' run: exit 0 - uses: actions/checkout@v4.2.2 - name: Unittest run: | helm unittest --strict --file 'unittests/**/*.yaml' ./