name: Helmfile lint run-name: Helmfile lint on: push: pull_request: branches: - 'main' jobs: helmfile-lint: runs-on: ubuntu-latest container: image: ghcr.io/helmfile/helmfile:latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Helmfile lint shell: bash run: | set -e HELMFILE=src/helm/helmfile.yaml environments=$(awk '/environments:/ {flag=1; next} flag && NF {print} !NF {flag=0}' "$HELMFILE" | grep -E '^[[:space:]]{2}[a-zA-Z]+' | sed 's/^[[:space:]]*//;s/:.*//') for env in $environments; do echo "################### $env lint ###################" helmfile -e $env -f $HELMFILE lint || exit 1 echo -e "\n" done