From df5e8ad2c7a9982d1f0cc6ce9e0450af70b55b6e Mon Sep 17 00:00:00 2001 From: Rohit Goswami Date: Sat, 26 Aug 2023 00:21:50 +0000 Subject: [PATCH] CI,DOC: Add a site for the documentation --- .github/workflows/build_docs.yml | 69 ++++++++++++++++++++++++++++++++ environment.yml | 3 ++ 2 files changed, 72 insertions(+) create mode 100644 .github/workflows/build_docs.yml diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml new file mode 100644 index 0000000..e2e5f5a --- /dev/null +++ b/.github/workflows/build_docs.yml @@ -0,0 +1,69 @@ +name: Build documentation +on: [push, pull_request] +jobs: + build_docs: + name: Build documentation + runs-on: ubuntu-latest + strategy: + fail-fast: true + steps: + - uses: actions/checkout@v3 + - uses: mamba-org/setup-micromamba@v1 + with: + micromamba-version: '1.3.1-0' + environment-file: environment.yml + init-shell: >- + bash + cache-environment: true + post-cleanup: 'all' + - name: Get external tags + shell: bash -el {0} + run: | + cd apidocs + mkdir -p tags + cd tags + curl https://upload.cppreference.com/mwiki/images/f/f8/cppreference-doxygen-web.tag.xml -o cppreference-doxygen-web.tag.xml + - name: Get Theme + shell: bash -el {0} + run: | + cd apidocs + wget https://github.com/HaoZeke/doxyYoda/releases/download/0.0.2/doxyYoda_0.0.2.tar.gz + tar xf doxyYoda_0.0.2.tar.gz + - name: Generate Docs + shell: bash -el {0} + run: | + doxygen apidocs/Doxygen-featom.cfg + - name: Archive artifact + shell: sh + if: runner.os == 'Linux' + run: | + tar \ + --dereference --hard-dereference \ + --exclude=.git \ + --exclude=.github \ + -cvf "$RUNNER_TEMP/artifact.tar" \ + --directory=html . + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: github-pages + path: ${{ runner.temp }}/artifact.tar + if-no-files-found: error + # Deploy job + deploy: + # Add a dependency to the build job + needs: build_docs + if: github.event_name == 'push' + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + # Specify runner + deployment step + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 # or the latest "vX.X.X" version tag for this action diff --git a/environment.yml b/environment.yml index ec555c9..2f4aa82 100644 --- a/environment.yml +++ b/environment.yml @@ -25,3 +25,6 @@ dependencies: - pytest # Headers - jinja2 + # Documentation + - doxygen==1.9.1 # for doxyYoda + - graphviz # for dot