diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..ed9e4f7 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,31 @@ +# Based on https://gist.github.com/domenic/ec8b0fc8ab45f39403dd +name: Documentation + +on: + pull_request: # Build on pull requests to ensure they don't break docs. + branches: + - master + push: # We'll only push new docs when master is updated (see below). + branches: + - master + +jobs: + build: + name: Build Docs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup Lua + uses: leafo/gh-actions-lua@v8 + with: + luaVersion: 5.4 + - name: Setup Lua Rocks + uses: leafo/gh-actions-luarocks@v4 + - name: Setup and run ldoc + run: bash ./doc/install_and_build_docs + - name: Deploy + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./doc/out diff --git a/.gitignore b/.gitignore index 9b690f6..55951cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ # LDoc generated files. -doc/doc +doc/out diff --git a/doc/config.ld b/doc/config.ld index 5b61920..c1a87fc 100644 --- a/doc/config.ld +++ b/doc/config.ld @@ -7,3 +7,6 @@ file = { "../init.lua", "../modules" } +dir='./out' +readme='../README.md' +style='!new' diff --git a/doc/install_and_build_docs b/doc/install_and_build_docs new file mode 100644 index 0000000..cdf02a1 --- /dev/null +++ b/doc/install_and_build_docs @@ -0,0 +1,13 @@ +#! /bin/sh + +# on github, leafo/gh-actions-lua leafo/gh-actions-luarocks setup luarocks for us. +#~ sudo apt-get install lua5.3 liblua5.3-dev luarocks + +# github ldoc is far ahead of the released version. +echo ldoc version: +git ls-remote https://github.com/lunarmodules/LDoc master +luarocks --local install https://raw.githubusercontent.com/lunarmodules/LDoc/master/ldoc-scm-3.rockspec + +echo +cd ./doc +~/.luarocks/bin/ldoc .