Skip to content

Build and publish docs #77

Build and publish docs

Build and publish docs #77

Workflow file for this run

name: Build and publish docs
permissions:
contents: read
pages: write
id-token: write
concurrency:
# 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.
group: pages
cancel-in-progress: false
on:
workflow_run:
workflows: [Python Tests]
types:
- completed
branches:
- main
workflow_dispatch:
jobs:
build-and-publish-docs:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: pyproject.toml
- name: Install the project
run: uv sync --only-group docs
- name: Build docs
run: |
APP_MODULE_NAME=$(ls src -U | head -1) # Get the first module name in the src directory
uv run pdoc src/"$APP_MODULE_NAME" -o docs_build -t docs/pdoc-theme --docformat google
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
path: ./docs_build
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4