aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/gen-annotations.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/gen-annotations.yml')
-rw-r--r--.github/workflows/gen-annotations.yml49
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
+ )