diff --git a/.github/workflows/helm-docs.yaml b/.github/workflows/helm-docs.yaml new file mode 100644 index 00000000..4528daa9 --- /dev/null +++ b/.github/workflows/helm-docs.yaml @@ -0,0 +1,49 @@ +name: Check Helm Docs + +on: + pull_request: + paths: + - 'charts/**' # Only trigger on changes to charts + +jobs: + check-helm-docs: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Go environment + uses: actions/setup-go@v4 + with: + go-version: '1.22.5' # Ensure you have a suitable Go version + + - name: Install helm-docs + run: | + go install github.com/norwoodj/helm-docs/cmd/helm-docs@v1.14.2 + + - name: Run helm-docs + run: | + helm-docs + + - name: Check for uncommitted changes + run: | + git diff --exit-code --ignore-all-space + continue-on-error: true + id: git_diff + + - name: Display differences if found + if: steps.git_diff.outcome == 'failure' + run: | + echo "The following changes were detected:" + git diff --ignore-all-space + + - name: Fail if helm-docs changes were needed + if: steps.git_diff.outcome == 'failure' + run: | + echo "::error::helm-docs was not applied or is outdated" + exit 1 + + - name: Success message + if: steps.git_diff.outcome == 'success' + run: | + echo "helm-docs is up-to-date"