From 53ea2b897342e537f188ddab18ddc4113e1270a4 Mon Sep 17 00:00:00 2001 From: peelz Date: Wed, 3 Aug 2022 21:34:41 -0400 Subject: [PATCH] Simplify github workflow for docs generation This also fixes not being able to generate docs from other branches. --- .github/workflows/clean-docs.yml | 17 ---- .github/workflows/generate-cs-docs.yml | 43 --------- .github/workflows/generate-lua-docs.yml | 39 -------- .github/workflows/update-docs.yml | 114 ++++++++++++++++++++++++ 4 files changed, 114 insertions(+), 99 deletions(-) delete mode 100644 .github/workflows/clean-docs.yml delete mode 100644 .github/workflows/generate-cs-docs.yml delete mode 100644 .github/workflows/generate-lua-docs.yml create mode 100644 .github/workflows/update-docs.yml diff --git a/.github/workflows/clean-docs.yml b/.github/workflows/clean-docs.yml deleted file mode 100644 index cc9e934f4..000000000 --- a/.github/workflows/clean-docs.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Clean Docs - -on: - workflow_dispatch: - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout branch - uses: actions/checkout@v2 - - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: docs-landing-page diff --git a/.github/workflows/generate-cs-docs.yml b/.github/workflows/generate-cs-docs.yml deleted file mode 100644 index 31fe41870..000000000 --- a/.github/workflows/generate-cs-docs.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Generate Docs - Cs - -on: - workflow_run: - workflows: ["Clean Docs"] - types: - - completed - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout branch - uses: actions/checkout@v2 - - - name: Create directories - run: mkdir -p doxygen/build ; mkdir -p doxygen/build/baro-server ; mkdir -p doxygen/build/baro-client - - - name: Build server documentation - uses: mattnotmitt/doxygen-action@v1.9.1 - with: - working-directory: 'doxygen/baro-server' - doxyfile-path: './Doxyfile' - - - name: Build client documentation - uses: mattnotmitt/doxygen-action@v1.9.1 - with: - working-directory: 'doxygen/baro-client' - doxyfile-path: './Doxyfile' - - - name: Build containing documentation - uses: mattnotmitt/doxygen-action@v1.9.1 - with: - working-directory: 'doxygen/' - doxyfile-path: './Doxyfile' - - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: doxygen/build - destination_dir: cs-docs - keep_files: true diff --git a/.github/workflows/generate-lua-docs.yml b/.github/workflows/generate-lua-docs.yml deleted file mode 100644 index 365c823f7..000000000 --- a/.github/workflows/generate-lua-docs.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Generate Docs - Lua - -on: - workflow_run: - workflows: ["Clean Docs"] - types: - - completed - -jobs: - docs: - runs-on: ubuntu-latest - - steps: - - name: Checkout branch - uses: actions/checkout@v2 - with: - submodules: recursive - - - uses: leafo/gh-actions-lua@v8.0.0 - with: - luaVersion: "5.2" - - - uses: leafo/gh-actions-luarocks@v4.0.0 - - - name: Run install script - working-directory: docs - run: ./scripts/install.sh - - - name: Run build script - working-directory: docs - run: ./scripts/build.sh - - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: docs/html - destination_dir: lua-docs - keep_files: true diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml new file mode 100644 index 000000000..dddc9d133 --- /dev/null +++ b/.github/workflows/update-docs.yml @@ -0,0 +1,114 @@ +name: Update documentation + +on: + workflow_dispatch: + +jobs: + update-docs-lua: + runs-on: ubuntu-latest + steps: + - name: Checkout branch + uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: leafo/gh-actions-lua@v8 + with: + luaVersion: "5.2" + + - uses: leafo/gh-actions-luarocks@v4 + + - name: Run install script + working-directory: docs + run: ./scripts/install.sh + + - name: Run build script + working-directory: docs + run: ./scripts/build.sh + + - name: Create tarball + working-directory: docs/html + run: tar -czf ../../docs-lua.tar.gz . + + - name: Upload tarball + uses: actions/upload-artifact@v3 + with: + name: docs-lua + path: docs-lua.tar.gz + + update-docs-cs: + runs-on: ubuntu-latest + steps: + - name: Checkout branch + uses: actions/checkout@v3 + + - name: Create directories + run: | + mkdir -p doxygen/build/baro-server + mkdir -p doxygen/build/baro-client + + - name: Build server documentation + uses: mattnotmitt/doxygen-action@v1 + with: + working-directory: 'doxygen/baro-server' + doxyfile-path: './Doxyfile' + + - name: Build client documentation + uses: mattnotmitt/doxygen-action@v1 + with: + working-directory: 'doxygen/baro-client' + doxyfile-path: './Doxyfile' + + - name: Build containing documentation + uses: mattnotmitt/doxygen-action@v1 + with: + working-directory: 'doxygen/' + doxyfile-path: './Doxyfile' + + - name: Create tarball + working-directory: doxygen/build + run: tar -czf ../../docs-cs.tar.gz . + + - name: Upload tarball + uses: actions/upload-artifact@v3 + with: + name: docs-cs + path: docs-cs.tar.gz + + deploy-docs: + runs-on: ubuntu-latest + needs: [update-docs-lua, update-docs-cs] + steps: + - name: Checkout branch + uses: actions/checkout@v3 + + - run: mkdir -p docs_deploy + + - name: "Download build artifacts: lua docs" + uses: actions/download-artifact@v3 + with: + name: docs-lua + path: docs_deploy + + - name: "Download build artifacts: cs docs" + uses: actions/download-artifact@v3 + with: + name: docs-cs + path: docs_deploy + + - name: Copy landing page files + run: cp -r docs-landing-page/. docs_deploy/public + + - name: Extract lua and cs tarballs + working-directory: docs_deploy + run: | + mkdir -p public/lua-docs public/cs-docs + tar -xzf docs-lua.tar.gz -C public/lua-docs + tar -xzf docs-cs.tar.gz -C public/cs-docs + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: docs_deploy/public + keep_files: true