name: Docs on: [push, pull_request, workflow_dispatch] concurrency: group: ${{ github.ref }} cancel-in-progress: true jobs: build: name: Build docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Install uv run: curl -LsSf https://astral.sh/uv/install.sh | sh - name: Install gdb (needed for doc verification) run: | sudo apt update sudo apt install -y gdb - name: Verify docs are up to date with source run: | ./scripts/verify_docs.sh - name: Copy README.md to docs/index.md run: cp README.md docs/index.md - name: Build site run: | # --only-group doesn't work with api-autonav (why?) uv run --group docs mkdocs build --strict deploy: if: github.event_name == 'push' && contains(fromJson('["refs/heads/dev"]'), github.ref) needs: build name: Deploy docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Install uv run: curl -LsSf https://astral.sh/uv/install.sh | sh - name: Install gdb (needed for doc verification) run: | sudo apt update sudo apt install -y gdb - name: Verify docs are up to date with source run: | ./scripts/verify_docs.sh - name: Copy README.md to docs/index.md run: cp README.md docs/index.md - name: Deploy site run: | uv run --group docs mkdocs gh-deploy --strict --force