name: Dev Docs on: [push, pull_request, workflow_dispatch] concurrency: group: ${{ github.ref }} cancel-in-progress: true jobs: check: name: Check docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Install latest uv uses: astral-sh/setup-uv@v6 with: version: "latest" - name: Install dependencies run: uv sync --group docs --all-extras - name: Verify docs are up to date with source run: | ./scripts/verify-docs.sh - name: Update docs/index.md with README.md run: uv run ./scripts/generate-readme.py - 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: check name: Deploy dev docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 - name: Install latest uv uses: astral-sh/setup-uv@v6 with: version: "latest" - name: Install dependencies run: uv sync --group docs - name: Update docs/index.md with README.md run: uv run ./scripts/generate-readme.py - name: Deploy site run: | # mike pushes commits to the gh-pages branch git config --global user.email "doc-bot@pwndbg.re" git config --global user.name "DocBot" git fetch --no-tags --prune --depth=1 origin +refs/heads/gh-pages:refs/remotes/origin/gh-pages uv run --group docs mike deploy \ --update-aliases \ --push \ --remote origin \ dev