diff options
author | James McCoy <jamessan@jamessan.com> | 2021-06-01 20:40:16 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-01 20:40:16 -0400 |
commit | 056c464e8a36f51b5bf60cdcccce68780a7c40ec (patch) | |
tree | d84e41ea6c037252be43791b77b53c562204ee7d | |
parent | 3fe7a04704fdede0cef6b8f6dfaffffee6a287e5 (diff) | |
parent | efef508ec656f2a10bb45da6169d074b44b2d8d7 (diff) | |
download | rneovim-056c464e8a36f51b5bf60cdcccce68780a7c40ec.tar.gz rneovim-056c464e8a36f51b5bf60cdcccce68780a7c40ec.tar.bz2 rneovim-056c464e8a36f51b5bf60cdcccce68780a7c40ec.zip |
Merge pull request #14692 from jamessan/api-doc-workflow
ci(gha): New workflow to regen API docs on pushes to release branches
-rw-r--r-- | .github/workflows/api-docs.yml | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml new file mode 100644 index 0000000000..413c2e90c6 --- /dev/null +++ b/.github/workflows/api-docs.yml @@ -0,0 +1,51 @@ +name: Autogenerate API docs +on: + push: + paths: + - 'src/nvim/api/*.[ch]' + - 'src/nvim/**.lua' + - 'runtime/lua/**.lua' + branches: + - 'master' + - 'release-[0-9]+.[0-9]+' + workflow_dispatch: + +jobs: + regen-api-docs: + runs-on: ubuntu-20.04 + permissions: + contents: write + pull-requests: write + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Install dependencies + run: | + sudo apt-get update + sudo env DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen python3 python3-msgpack luajit + + - name: Setup git config + run: | + git config --global user.name 'marvim' + git config --global user.email 'marvim@users.noreply.github.com' + + - run: printf 'DOC_BRANCH=marvim/api-doc-update/%s\n' ${GITHUB_REF#refs/heads/} >> $GITHUB_ENV + + - name: Generate docs + id: docs + run: | + git checkout -b ${DOC_BRANCH} + python3 scripts/gen_vimdoc.py + printf '::set-output name=UPDATED_DOCS::%s\n' $([ -z "$(git diff)" ]; echo $?) + + - name: Automatic PR + if: ${{ steps.docs.outputs.UPDATED_DOCS != 0 }} + run: | + git add -u + git commit -m 'docs: regenerate' + git push --force https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY} ${DOC_BRANCH} + gh pr create --fill --base ${GITHUB_REF#refs/heads/} --head ${DOC_BRANCH} || true |