aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authormax397574 <[email protected]>2021-12-09 18:41:23 +0100
committermax397574 <[email protected]>2021-12-09 18:41:23 +0100
commit4595f296ce2040847510302d4d7da994358f9bf5 (patch)
treecd8895b6323b72ea4464ee1fc77089268e12ad70 /.github
parent174c29615c106b72ce4a151afe1644683d61d03f (diff)
feat(github): added docgen workflow
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/docgen.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/docgen.yml b/.github/workflows/docgen.yml
new file mode 100644
index 0000000..d1d8cbf
--- /dev/null
+++ b/.github/workflows/docgen.yml
@@ -0,0 +1,61 @@
+name: Generate docs
+
+on: workflow_dispatch
+
+jobs:
+ build-sources:
+ name: Generate docs
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - os: ubuntu-20.04
+ url: https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz
+ steps:
+ - uses: actions/checkout@v2
+ - run: date +%F > todays-date
+ - name: Restore cache for today's nightly.
+ uses: actions/cache@v2
+ with:
+ path: _neovim
+ key: ${{ runner.os }}-${{ matrix.url }}-${{ hashFiles('todays-date') }}
+
+ - name: Prepare
+ run: |
+ test -d _neovim || {
+ mkdir -p _neovim
+ curl -sL ${{ matrix.url }} | tar xzf - --strip-components=1 -C "${PWD}/_neovim"
+ }
+ mkdir -p ~/.local/share/nvim/site/pack/vendor/start
+ git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim
+ git clone --depth 1 https://github.com/tjdevries/tree-sitter-lua ~/.local/share/nvim/site/pack/vendor/start/tree-sitter-lua
+ ln -s $(pwd) ~/.local/share/nvim/site/pack/vendor/start
+ - name: Build parser
+ run: |
+ # We have to build the parser every single time to keep up with parser changes
+ cd ~/.local/share/nvim/site/pack/vendor/start/tree-sitter-lua
+ mkdir -p build parser
+ cc -o ./build/parser.so -I./src src/parser.c src/scanner.cc -shared -Os -lstdc++ -fPIC
+ ln -s ../build/parser.so parser/lua.so
+ cd -
+ - name: Generating docs
+ run: |
+ export PATH="${PWD}/_neovim/bin:${PATH}"
+ export VIM="${PWD}/_neovim/share/nvim/runtime"
+ nvim --version
+ make docgen
+ # inspired by nvim-lspconfigs
+ - name: Update documentation
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ COMMIT_MSG: |
+ [docgen] Update doc/startup.txt
+ skip-checks: true
+ run: |
+ git config user.email "actions@github"
+ git config user.name "Github Actions"
+ git remote set-url origin https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git
+ git add doc/
+ # Only commit and push if we have changes
+ git diff --quiet && git diff --staged --quiet || (git commit -m "${COMMIT_MSG}"; git push origin HEAD:${GITHUB_REF})