neovim/.github/workflows/api-docs.yml
2023-08-23 12:16:04 +01:00

42 lines
1.2 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: Generate docs
id: docs
run: |
make doc
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