# 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@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 with: submodules: recursive - name: Setup .NET uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0 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@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 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@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.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@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 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@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - run: mkdir -p "$CI_ARTIFACTS_DIR" "$CI_DEPLOY_DIR" - name: "Download build artifacts: lua docs" uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: docs-lua path: ${{ env.CI_ARTIFACTS_DIR }} - name: "Download build artifacts: cs docs" uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 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