From 591d97486f1a442a1113667e63a2fb5257702d19 Mon Sep 17 00:00:00 2001 From: Alexander Shaduri Date: Thu, 23 May 2024 15:11:27 +0400 Subject: [PATCH] Add workflow for github pages (API documentation). --- .github/workflows/api-docs.yml | 78 ++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/.github/workflows/api-docs.yml b/.github/workflows/api-docs.yml index d2902a1..d4c4f0d 100644 --- a/.github/workflows/api-docs.yml +++ b/.github/workflows/api-docs.yml @@ -1,44 +1,48 @@ -name: CMake +name: API Documentation on: [push, workflow_dispatch] -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - jobs: - build: + deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - - name: Install Dependencies - run: | - sudo apt-get install python3-Sphinx python3-sphinx-bootstrap-theme python3-breathe - pip install sphinx_rtd_theme - - - name: Create Build Environment - run: cmake -E make_directory build - - - name: Configure CMake - # Use a bash shell, so we can use the same syntax for environment variable - # access regardless of the host operating system - shell: bash - working-directory: ${{github.workspace}}/build - # Note the current convention is to use the -S and -B options here to specify source - # and build directories, but this is only available with CMake 3.13 and higher. - # The CMake binaries on the GitHub Actions machines are (as of this writing) 3.12 - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE - - - name: Build - working-directory: ${{github.workspace}}/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: cmake --build . --config $BUILD_TYPE - - - name: Test - working-directory: ${{github.workspace}}/build - shell: bash - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest -C $BUILD_TYPE + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: "true" + + - name: Install Doxygen + shell: bash + run: sudo apt-get install doxygen + + - name: Create Build Environment + run: cmake -E make_directory build + + - name: Configure CMake + # Use a bash shell, so we can use the same syntax for environment variable + # access regardless of the host operating system + shell: bash + working-directory: ${{github.workspace}}/build + # Note the current convention is to use the -S and -B options here to specify source + # and build directories, but this is only available with CMake 3.13 and higher. + # The CMake binaries on the GitHub Actions machines are (as of this writing) 3.12 + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release + + - name: Build Documentation + working-directory: ${{github.workspace}}/build + shell: bash + run: cmake --build . --config Release --target doxygen + + - name: Create .nojekyll (ensures pages with underscores work on gh pages) + shell: bash + run: touch doc/html/.nojekyll + + - name: Deploy to GitHub Pages + uses: JamesIves/github-pages-deploy-action@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: gh-pages + folder: doc/html + # target-folder: / +