neovim/.github/workflows/api-docs.yml
2023-08-01 14:20:44 +01:00

46 lines
1.3 KiB
YAML

# Check if any PR needs to run the autogenerate script
name: Autogenerate API docs and types
on:
pull_request:
paths:
- 'src/nvim/api/*.[ch]'
- 'src/nvim/eval.lua'
- 'runtime/lua/**.lua'
- 'runtime/doc/**'
jobs:
regen-api-docs-and-types:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: rhysd/action-setup-vim@v1
with:
neovim: true
version: nightly
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update
./.github/scripts/install_deps.sh
sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen python3 python3-msgpack
- name: Build metadata
run: |
make api-metadata
- name: Generate docs
id: docs
run: |
python3 scripts/gen_vimdoc.py
printf 'UPDATED_DOCS=%s\n' $([ -z "$(git diff)" ]; echo $?) >> $GITHUB_OUTPUT
- name: FAIL, PR has not committed doc changes
if: ${{ steps.docs.outputs.UPDATED_DOCS != 0 }}
run: |
echo "Job failed, run ./scripts/gen_vimdoc.py and/or ./scripts/gen_vimfn_types.lua"
echo "and commit your doc changes"
echo "The doc generation produces the following changes:"
git diff --color --exit-code