From 449650814d04c81cbd055ec5abcc72693cf7a135 Mon Sep 17 00:00:00 2001 From: Jiri Jaburek Date: Tue, 13 Feb 2024 22:14:41 +0100 Subject: [PATCH] create and deploy Sphinx documentation for lib The config file is largely based on GitHub's own examples: https://github.com/actions/deploy-pages Signed-off-by: Jiri Jaburek --- .github/workflows/pages.yaml | 55 ++++++++++++++++++++++++++++++++++++ README.md | 5 ++++ 2 files changed, 60 insertions(+) create mode 100644 .github/workflows/pages.yaml diff --git a/.github/workflows/pages.yaml b/.github/workflows/pages.yaml new file mode 100644 index 00000000..74de5508 --- /dev/null +++ b/.github/workflows/pages.yaml @@ -0,0 +1,55 @@ +name: Deploy documentation to GH Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v4 + - name: Make test html page + run: | + python3 -m pip install sphinx sphinx-rtd-theme sphinx-autoapi + sphinx-quickstart -p Contest -a Fantomas -v 1 -r 1 -l en --sep \ + --extensions sphinx.ext.githubpages,sphinx.ext.autodoc,autoapi.extension . + sed '/^html_theme = /s/.*/html_theme = "sphinx_rtd_theme"/' -i source/conf.py + sed '1i autoapi_dirs = ["../lib"]' -i source/conf.py + sed '1i autoapi_options = ["members", "undoc-members", "show-inheritance"]' -i source/conf.py + sphinx-build source build + mv build _site + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/README.md b/README.md index f609a500..115cff6a 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,11 @@ These have some unfortunate metadata, such as which are removed by `translate_ssg_kickstart()` [in virt.py](lib/virt.py). +## Referencing library code + +See https://rhsecuritycompliance.github.io/contest/ for online Sphinx version +of the modules present in `lib`. + ## Debugging (TODO: probably move to its own document?)