aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/docgen.yml
blob: 789ce2c5cdf38494311e18a8197fc5b372a537b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
name: docgen

on:
  push:
    branches:
      - master

jobs:
  docgen:
    if: github.repository == 'neovim/nvim-lspconfig'
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
    - uses: actions/checkout@v6
    - uses: rhysd/action-setup-vim@v1
      with:
        neovim: true
        version: nightly
    - name: Run docgen
      run: |
        scripts/docgen.lua
    - name: Commit changes
      env:
        COMMIT_MSG: |
          docs: update configs.md
          skip-checks: true
      run: |
        git config user.name "github-actions[bot]"
        git config user.email "github-actions[bot]@users.noreply.github.com"
        git add doc/configs.md doc/configs.txt
        # Only commit and push if we have changes
        git diff --quiet && git diff --staged --quiet || (
          git commit -m "${COMMIT_MSG}"
          for i in 1 2 3; do
            git pull --rebase && git push && break
            echo "Push failed (attempt $i), retrying..."
            sleep 5
          done
        )