name: Docs on: push: branches: [master] workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: deploy cancel-in-progress: false jobs: build: name: Rustdoc runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Checkout repo submodules run: git submodule update --init --recursive - name: Init Rust uses: dtolnay/rust-toolchain@stable - name: Configure cache uses: Swatinem/rust-cache@v2 - name: Configure pages id: pages uses: actions/configure-pages@v4 - name: Clean docs directory run: cargo clean --doc - name: Build documentation run: cargo doc --no-deps --document-private-items --workspace - name: Create index.html run: echo '' > target/doc/index.html - name: Artifact uses: actions/upload-pages-artifact@v3 with: path: target/doc deploy: name: Pages environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: - name: Deploy to pages id: deployment uses: actions/deploy-pages@v4