on:
  push:
    branches:
      - master

name: Generate readme

permissions:
  contents: read

jobs:
  build:
    permissions:
      contents: write  # for Git to git push
    name: Release
    runs-on: ubuntu-latest
    steps:
      - name: Check out code into the Go module directory
        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

      - name: Set up Go
        uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
        with:
          go-version-file: "go.mod"
        id: go

      - name: Generate readme
        run: go run ./tools/readme-docs/main.go

      - name: Commit changes
        continue-on-error: true
        run: |
          git checkout master
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git config user.name "github-actions[bot]"
          git add README.md
          COAUTHOR=`git log -1 --pretty=format:'Co-authored-by: %an <%ae>'`
          git commit -m "docs: updated readme" -m "$COAUTHOR"

      - name: Push changes
        if: ${{ success() }}
        run: |
          git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY
          git push
