name: Documentation on: push: branches: - main - dev paths: - 'docs/**' - 'mkdocs.yml' - '.github/workflows/docs.yml' pull_request: branches: - main - dev paths: - 'docs/**' - 'mkdocs.yml' - '.github/workflows/docs.yml' workflow_dispatch: permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install uv uses: astral-sh/setup-uv@v5 with: version: "latest" - name: Install dependencies run: | uv sync --extra dev - name: Build documentation run: | uv run mkdocs build --strict - name: Deploy to GitHub Pages if: (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev') && github.event_name == 'push' uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./site publish_branch: dev cname: false keep_files: true