name: Helm on: pull_request: types: [ "opened", "reopened", "synchronize" ] push: branches: - '**' tags-ignore: - '**' workflow_dispatch: {} jobs: helm-lint: container: docker.io/alpine/helm:3.19.0 name: Execute helm lint runs-on: ubuntu-latest steps: - name: Install additional tools run: | apk update apk add --update bash make nodejs - uses: actions/checkout@v5.0.0 - name: Install helm chart dependencies run: helm dependency build - name: Execute helm lint run: helm lint helm-template: container: docker.io/alpine/helm:3.19.0 name: Execute helm template runs-on: ubuntu-latest steps: - name: Install additional tools run: | apk update apk add --update bash make nodejs - uses: actions/checkout@v5.0.0 - name: Extract repository owner and name run: | echo "REPOSITORY_NAME=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 2 | sed --regexp-extended 's/-charts?//g')" >> $GITHUB_ENV echo "REPOSITORY_OWNER=$(echo ${GITHUB_REPOSITORY} | cut -d '/' -f 1)" >> $GITHUB_ENV - name: Install helm chart dependencies run: helm dependency build - name: Execute helm template run: helm template --debug "${REPOSITORY_NAME}" . helm-unittest: container: docker.io/alpine/helm:3.19.0 env: HELM_UNITTEST_VERSION: v1.0.1 # renovate: datasource=github-releases depName=helm-unittest/helm-unittest name: Execute helm unittest runs-on: ubuntu-latest steps: - name: Install additional tools run: | apk update apk add --update bash make nodejs npm yamllint ncurses - uses: actions/checkout@v5.0.0 - name: Install helm chart dependencies run: helm dependency build - name: Install helm plugin 'unittest' run: helm plugin install --version "${HELM_UNITTEST_VERSION}" https://github.com/helm-unittest/helm-unittest - name: Execute helm unittest env: TERM: xterm run: helm unittest --strict --file 'unittests/**/*.yaml' ./