Per-Request Auth Token Refresh (#103) #217
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Deploy Documentation | |
| on: | |
| push: | |
| branches: [main, master] | |
| paths: | |
| - "docs/**" | |
| - "src/**" | |
| - "examples/**" | |
| - "README.md" | |
| - "pyproject.toml" | |
| - ".github/workflows/docs.yml" | |
| pull_request: | |
| branches: [main, master] | |
| paths: | |
| - "docs/**" | |
| - "src/**" | |
| - "examples/**" | |
| - "README.md" | |
| - "pyproject.toml" | |
| - ".github/workflows/docs.yml" | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| inputs: | |
| reason: | |
| description: "Reason for manual documentation build" | |
| required: false | |
| default: "Manual trigger" | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| - name: Set version from tag | |
| run: | | |
| if [[ "$GITHUB_REF" == refs/tags/* ]]; then | |
| TAG_VERSION=${GITHUB_REF#refs/tags/} | |
| # Remove 'v' prefix if present | |
| VERSION=${TAG_VERSION#v} | |
| echo "Setting version to: $VERSION" | |
| uv version "$VERSION" | |
| else | |
| echo "Not building from a tag, using default version" | |
| fi | |
| - name: Install dependencies | |
| run: uv sync --locked --group docs | |
| - name: Build documentation | |
| run: | | |
| cd docs | |
| uv run make clean html | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| - name: Upload artifact for GitHub Pages | |
| uses: actions/upload-pages-artifact@v4 | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| with: | |
| path: docs/_build/html | |
| - name: Upload documentation artifacts | |
| uses: actions/upload-artifact@v6 | |
| if: github.event_name != 'release' | |
| with: | |
| name: documentation | |
| path: docs/_build/html | |
| - name: Upload build artifacts for debugging | |
| uses: actions/upload-artifact@v6 | |
| if: failure() | |
| with: | |
| name: docs-build-artifacts | |
| path: | | |
| docs/_build/ | |
| docs/*.log | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |