Skip to content

Documentation - Build and publish #45

Documentation - Build and publish

Documentation - Build and publish #45

name: Build and publish docs
on:
# required to enable manual triggers on the GH web ui
workflow_dispatch:
workflow_run:
workflows:
- Link checker
types:
- completed
permissions:
contents: write
pages: write
id-token: write
jobs:
build-docs:
name: Build and publish docs
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Set up environment
id: setup
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
echo "VIRTUAL_ENV=$HOME/.venv" >> $GITHUB_ENV
continue-on-error: false
- name: Install docs dependencies
id: install_build_dependencies
run: |
. .venv/bin/activate
uv pip install -r pyproject.toml --extra docs
continue-on-error: false
- name: Build documentation
run: |
. .venv/bin/activate
cd docs
sphinx-build source build/html
- name: Set up pages
uses: actions/configure-pages@v4
- name: Upload artifact
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: actions/upload-pages-artifact@v3
with:
path: docs/build/html/
- name: Deploy
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: actions/deploy-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/build/html