diff options
Diffstat (limited to '.github/workflows/gen-annotations.yml')
| -rw-r--r-- | .github/workflows/gen-annotations.yml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/.github/workflows/gen-annotations.yml b/.github/workflows/gen-annotations.yml new file mode 100644 index 00000000..6a6b3365 --- /dev/null +++ b/.github/workflows/gen-annotations.yml @@ -0,0 +1,49 @@ +name: gen-annotations + +on: + push: + branches: + - master + paths: + - lsp/** + - scripts/gen_json_schemas.lua + - scripts/gen_annotations.lua + - .github/workflows/gen-annotations.yml + workflow_dispatch: + +jobs: + gen-annotations: + if: github.actor != 'github-actions[bot]' && 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: Generate JSON schemas + run: | + nvim -l scripts/gen_json_schemas.lua + - name: Generate annotations + run: | + nvim -l scripts/gen_annotations.lua + - name: Commit generated files + env: + COMMIT_MSG: | + docs: update generated annotations + skip-checks: true + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add README.md + git add -A lua/lspconfig/types + 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 + ) |
