119 lines
3.7 KiB
YAML
119 lines
3.7 KiB
YAML
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
|
|
|
|
name: Update documentation
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
CI_DEPLOY_DIR: luacs-docs/ci-deploy
|
|
CI_ARTIFACTS_DIR: luacs-docs/ci-artifacts
|
|
DOCS_LUA_ROOT: luacs-docs/lua
|
|
DOCS_CS_ROOT: luacs-docs/cs
|
|
DOCS_LANDINGPAGE_ROOT: luacs-docs/landing-page
|
|
|
|
jobs:
|
|
update-docs-lua:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout branch
|
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@607fce577a46308457984d59e4954e075820f10a # v3.0.3
|
|
with:
|
|
dotnet-version: |
|
|
6.0.x
|
|
|
|
- uses: leafo/gh-actions-lua@35bcb06abec04ec87df82e08caa84d545348536e # v10.0.0
|
|
with:
|
|
luaVersion: "5.2"
|
|
|
|
- uses: leafo/gh-actions-luarocks@e65774a6386cb4f24e293dca7fc4ff89165b64c5 # v4.3.0
|
|
|
|
- name: Run install script
|
|
working-directory: ${{ env.DOCS_LUA_ROOT }}
|
|
run: ./scripts/install.sh
|
|
|
|
- name: Run docs generator script
|
|
working-directory: ${{ env.DOCS_LUA_ROOT }}
|
|
run: ./scripts/generate_docs.sh
|
|
|
|
- name: Run build script
|
|
working-directory: ${{ env.DOCS_LUA_ROOT }}
|
|
run: ./scripts/build.sh
|
|
|
|
- name: Create tarball
|
|
run: |
|
|
mkdir -p "$CI_ARTIFACTS_DIR"
|
|
tar -czf "$CI_ARTIFACTS_DIR"/lua.tar.gz -C "$DOCS_LUA_ROOT"/build .
|
|
|
|
- name: Upload tarball
|
|
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
|
|
with:
|
|
name: docs-lua
|
|
path: ${{ env.CI_ARTIFACTS_DIR }}/lua.tar.gz
|
|
|
|
update-docs-cs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout branch
|
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
|
|
|
- name: Install doxygen
|
|
run: sudo apt-get update && sudo apt-get install -y doxygen
|
|
|
|
- name: Run build script
|
|
working-directory: ${{ env.DOCS_CS_ROOT }}
|
|
run: ./scripts/build.sh
|
|
|
|
- name: Create tarball
|
|
run: |
|
|
mkdir -p "$CI_ARTIFACTS_DIR"
|
|
tar -czf "$CI_ARTIFACTS_DIR"/cs.tar.gz -C "$DOCS_CS_ROOT"/build .
|
|
|
|
- name: Upload tarball
|
|
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
|
|
with:
|
|
name: docs-cs
|
|
path: ${{ env.CI_ARTIFACTS_DIR }}/cs.tar.gz
|
|
|
|
deploy-docs:
|
|
runs-on: ubuntu-latest
|
|
needs: [update-docs-lua, update-docs-cs]
|
|
steps:
|
|
- name: Checkout branch
|
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
|
|
|
- run: mkdir -p "$CI_ARTIFACTS_DIR" "$CI_DEPLOY_DIR"
|
|
|
|
- name: "Download build artifacts: lua docs"
|
|
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
|
|
with:
|
|
name: docs-lua
|
|
path: ${{ env.CI_ARTIFACTS_DIR }}
|
|
|
|
- name: "Download build artifacts: cs docs"
|
|
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
|
|
with:
|
|
name: docs-cs
|
|
path: ${{ env.CI_ARTIFACTS_DIR }}
|
|
|
|
- name: Extract lua and cs tarballs
|
|
run: |
|
|
mkdir -p "$CI_DEPLOY_DIR"/{lua,cs}-docs
|
|
tar -xzf "$CI_ARTIFACTS_DIR"/lua.tar.gz -C "$CI_DEPLOY_DIR"/lua-docs
|
|
tar -xzf "$CI_ARTIFACTS_DIR"/cs.tar.gz -C "$CI_DEPLOY_DIR"/cs-docs
|
|
|
|
- name: Copy landing page files
|
|
run: cp -r "$DOCS_LANDINGPAGE_ROOT"/. "$CI_DEPLOY_DIR"
|
|
|
|
- name: Deploy
|
|
uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 #v3.9.3
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_dir: ${{ env.CI_DEPLOY_DIR }}
|
|
keep_files: true
|