diff --git a/.github/workflows/helm-chart.yml b/.github/workflows/helm-chart.yml index b598db6a307..cc2e212e70a 100644 --- a/.github/workflows/helm-chart.yml +++ b/.github/workflows/helm-chart.yml @@ -6,10 +6,12 @@ on: branches: - main paths: - - 'charts/**' + - 'charts/*/Chart.yaml' permissions: + contents: write packages: write + pull-requests: write jobs: helm-chart: @@ -22,20 +24,29 @@ jobs: - name: Configure git run: | - git config user.name "$GITHUB_ACTOR" - git config user.email "$GITHUB_ACTOR@users.noreply.github.com" + git config user.name "${GITHUB_ACTOR}" + git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" - name: Install helm uses: azure/setup-helm@v4 env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + - name: Install helm-docs + env: + HELM_DOCS_VERSION: "1.14.2" + run: | + cd /tmp + wget https://github.com/norwoodj/helm-docs/releases/download/v"${HELM_DOCS_VERSION}"/helm-docs_"${HELM_DOCS_VERSION}"_Linux_x86_64.tar.gz + tar -xvf helm-docs_"${HELM_DOCS_VERSION}"_Linux_x86_64.tar.gz + sudo mv helm-docs /usr/local/bin + - name: Set helm chart appVersion from Version.props run: | export VERSION_PROPS=$(awk -F'[<>]' '/VersionPrefix/{print $3}' Version.props) sed -i -e 's#Version.props#"'${VERSION_PROPS}'"#g' charts/garnet/Chart.yaml - - name: Helm lint and package + - name: Helm lint, helm-docs and helm package run: | mkdir .cr-release-packages for chart in $(find charts -mindepth 1 -maxdepth 1 -type d); do @@ -43,14 +54,38 @@ jobs: break fi helm lint "${chart}" + helm-docs --document-dependency-values --chart-search-root "${chart}" helm package "${chart}" --dependency-update --destination .cr-release-packages done + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + with: + add-paths: charts/garnet/README.md + token: ${{ secrets.GITHUB_TOKEN }} + committer: github-actions[bot] <${{ github.actor }}@users.noreply.github.com> + author: ${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com> + signoff: false + branch: helm-docs-gen + delete-branch: true + title: '[helm-chart] Update charts/garnet/README.md by helm-docs' + body: | + - Update charts/garnet/README.md + + Auto-generated by [create-pull-request][1] + + [1]: https://github.com/peter-evans/create-pull-request + labels: | + helm-chart + automated pr + run: | + git checkout -- charts/garnet/Chart.yaml + - name: Login to GHCR env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" run: | - echo "$GITHUB_TOKEN" | helm registry login ghcr.io --username "$GITHUB_ACTOR" --password-stdin + echo "${GITHUB_TOKEN}" | helm registry login ghcr.io --username "${GITHUB_ACTOR}" --password-stdin - name: Push charts to GHCR run: | diff --git a/.gitignore b/.gitignore index 3ffcf26c137..371d74f583a 100644 --- a/.gitignore +++ b/.gitignore @@ -217,3 +217,6 @@ test/tmp/ # BenchmarkDotNet Results BenchmarkDotNet.Artifacts/ + +# Helm chart artifacts +.cr-release-packages/