Skip to content

chore(main): release 0.4.0 (#23) #41

chore(main): release 0.4.0 (#23)

chore(main): release 0.4.0 (#23) #41

Workflow file for this run

name: Docs
on:
push:
branches:
- main
# Only one docs deployment runs at a time; cancel any in-progress run when a
# newer commit is pushed so the latest content always wins.
concurrency:
group: pages
cancel-in-progress: true
permissions:
contents: read
pages: write # needed by actions/deploy-pages
id-token: write # needed by actions/deploy-pages (OIDC)
jobs:
changes:
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.filter.outputs.changed }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
changed:
- docs/**
- mkdocs.yml
- src/**
- .github/workflows/docs.yml
build:
name: Build MkDocs site
needs: changes
if: needs.changes.outputs.changed == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install uv
uses: astral-sh/setup-uv@v8.0.0
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version-file: .python-version
- name: Install dependencies
run: uv sync --group dev
- name: Build docs
run: uv run mkdocs build --clean --strict
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v5
with:
path: site/
deploy:
name: Deploy to GitHub Pages
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deploy.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deploy
uses: actions/deploy-pages@v5