name: Docs on: push: branches: [master] permissions: contents: read pages: write id-token: write concurrency: group: deploy cancel-in-progress: false jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Rust uses: dtolnay/rust-toolchain@stable - name: Configure cache uses: Swatinem/rust-cache@v2 - name: Setup pages id: pages uses: actions/configure-pages@v4 - name: Clean docs folder run: cargo clean --doc - name: Build docs run: cargo doc --no-deps - name: Add redirect run: echo '' > target/doc/index.html - name: Remove lock file run: rm target/doc/.lock - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: target/doc deploy: name: Deploy environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4