name: Docs on: push: branches: [main] workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: pages cancel-in-progress: true jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: submodules: true - uses: ./.github/actions/setup - uses: actions/setup-python@v5 with: python-version: '3.x' - uses: astral-sh/setup-uv@v6 - uses: actions/cache@v4 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-cargo-docs-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo-docs- ${{ runner.os }}-cargo- - name: Build extension and generate stubs run: | cd crates/processing_pyo3 uv run maturin develop --release cd ../.. cargo run --release -p generate_stubs - name: Build docs run: uv run --project crates/processing_pyo3 --group docs mkdocs build - uses: actions/upload-pages-artifact@v3 with: path: site/ deploy: needs: build runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@v4