MAINT: Standardize JSON serialization in models #7222
Workflow file for this run
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-book | |
| on: | |
| push: | |
| branches: | |
| - "main" | |
| pull_request: | |
| branches: | |
| - "main" | |
| - "release/**" | |
| workflow_dispatch: | |
| # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. | |
| # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| env: | |
| # BASE_URL determines the website path prefix, including CSS & JS assets | |
| BASE_URL: /${{ github.event.repository.name }} | |
| # This job installs dependencies, builds the book, and pushes it to `gh-pages` | |
| jobs: | |
| deploy-book: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pages: write | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Install dependencies | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: 3.11 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| # Install a specific version of uv. | |
| version: "0.9.17" | |
| enable-cache: true | |
| cache-dependency-glob: | | |
| **/pyproject.toml | |
| **/uv.lock | |
| - name: Install PyRIT with uv | |
| run: uv sync --extra all | |
| # LaTeX toolchain needed for the PDF export (jupyter-book --pdf via xelatex). | |
| # Mirrors the ReadTheDocs build so CI catches PDF-only issues (e.g. broken | |
| # image paths) instead of letting them silently break the RTD build. | |
| - name: Install LaTeX (for PDF export) | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends \ | |
| texlive-xetex \ | |
| texlive-fonts-recommended \ | |
| texlive-fonts-extra \ | |
| texlive-plain-generic \ | |
| texlive-latex-extra \ | |
| latexmk | |
| # Build the book (HTML site + PDF export) | |
| - name: Build the book | |
| run: | | |
| make docs-build-all | |
| # Upload the book's HTML as an artifact | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: "doc/_build/html" | |
| - name: Deploy to GitHub Pages | |
| if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |