charts/pipelines-library/templates/tasks/helm-docs.yaml (64 lines of code) (raw):
{{ if .Values.pipelines.deployableResources.tasks }}
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: helm-docs
labels:
app.kubernetes.io/version: "0.1"
annotations:
tekton.dev/categories: CI
tekton.dev/pipelines.minVersion: "0.41.0"
tekton.dev/tags: helm
tekton.dev/platforms: "linux/amd64"
spec:
description: >-
This task generates documentation for Helm charts using `helm-docs` and validates if the generated README.md is up-to-date.
workspaces:
- description: A workspace that contains fetched git repo.
name: source
params:
- name: CHART_DIR
description: The directory in source that contains the helm chart
default: "."
- name: helm_docs_image
description: "Specify a specific helm-docs image"
default: "{{ include "edp-tekton.registry" . }}/jnorwood/helm-docs:v1.13.1"
- name: git_image
description: "Specify a specific git image"
default: "{{ include "edp-tekton.registry" . }}/alpine/git:v2.26.2"
- name: user_home
description: |
Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user
type: string
default: "/tekton/home"
steps:
- name: helm-docs
image: $(params.helm_docs_image)
workingDir: $(workspaces.source.path)
env:
- name: CHART_DIR
value: $(params.CHART_DIR)
- name: HOME
value: $(params.user_home)
script: |
set -ex
README_FILE_PATH="${CHART_DIR}/README.md"
if [ -f "${README_FILE_PATH}" ]; then
echo "[TEKTON][INFO] The file has been found at the given location \"${README_FILE_PATH}\""
else
echo "[TEKTON][ERROR] The file has not been found at the given location \"${README_FILE_PATH}\""
exit 1
fi
helm-docs --chart-search-root ${CHART_DIR}
- name: validate-helm-docs
image: $(params.git_image)
workingDir: $(workspaces.source.path)
env:
- name: CHART_DIR
value: $(params.CHART_DIR)
- name: HOME
value: $(params.user_home)
script: |
set -ex
git config --global --add safe.directory $(pwd)
git diff -s --exit-code ${CHART_DIR}/README.md || (echo "Run 'helm-docs' to address the issue." && git diff && exit 1)
{{ end }}