Feat/docs auto updater #107
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Check docs are up-to-date only on pull request. | |
# Succeeds if it is. | |
# Fail if not, generates a new version then commits it. | |
name: Docs synchronizer | |
on: | |
pull_request: | |
branches: [master] | |
workflow_dispatch: | |
jobs: | |
docs-synch: | |
name: Auto-updates docs on pull requests when needed | |
runs-on: ubuntu-latest | |
permissions: | |
# Give the default GITHUB_TOKEN write permission to commit and push the changed files back to the repository. | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: '1.21' | |
- name: Get dependencies | |
run: go mod download | |
- name: Install tfplugindocs | |
run: go install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs | |
- name: Run tfplugindocs | |
run: go generate ./... | |
- name: Fail if any files changed | |
shell: bash | |
run: | | |
if [[ $(git status --porcelain=v1 docs/ | wc -l) -ne 0 ]]; then | |
echo "docs/ needs an update" | |
echo "Changed files:" | |
git diff docs/ | |
git status docs/ | |
exit 1 | |
fi | |
- name: Commit docs update | |
if: | | |
failure() | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: auto-update documentations | |
file_pattern: 'docs/' | |
commit_user_name: Docs synchronizer Bot | |
commit_user_email: git-auto-commit-action@gusers.noreply.github.com |