name: docs on: push: branches: [master] paths: - "docs/**" - "book.toml" - ".github/workflows/docs.yml" - "assets/screenshots/**" workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: pages cancel-in-progress: false jobs: build-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Cache mdbook id: cache-mdbook uses: actions/cache@v4 with: path: ~/.cargo/bin/mdbook key: mdbook-0.5.2-${{ runner.os }} - name: Install mdbook if: steps.cache-mdbook.outputs.cache-hit != 'true' run: cargo install mdbook --version 0.5.2 --locked # mdbook follows the committed docs/assets symlink (→ ../assets) so # image references in docs resolve both in `mdbook serve` and in CI. - name: Build run: mdbook build - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: path: book - name: Deploy to GitHub Pages uses: actions/deploy-pages@v4