Skip to content

feat: Add optional MkDocs documentation setup with Material theme (#4) #3

feat: Add optional MkDocs documentation setup with Material theme (#4)

feat: Add optional MkDocs documentation setup with Material theme (#4) #3

Workflow file for this run

name: Deploy Documentation
on:
push:
branches:
- main
paths:
- 'docs/**'
- 'mkdocs.yml'
- '.github/workflows/docs.yml'
pull_request:
branches:
- main
paths:
- 'docs/**'
- 'mkdocs.yml'
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install uv
run: pip install uv
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- name: Install dependencies
run: uv sync --group dev
- name: Deploy documentation
run: uv run mkdocs gh-deploy --force
build-check:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install uv
run: pip install uv
- name: Install dependencies
run: uv sync --group dev
- name: Build documentation
run: uv run mkdocs build --strict
- name: Check build output
run: |
echo "✅ Documentation builds successfully"
echo "📊 Site size: $(du -sh site/ | cut -f1)"
echo "📄 Pages built: $(find site/ -name "*.html" | wc -l)"