name: Build and Deploy Rust API Docs on: push: branches: - main jobs: docs: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout sources uses: actions/checkout@v2 with: submodules: recursive - name: Get date for registry cache id: date run: echo "::set-output name=date::$(date +'%Y-%m-%d')" - name: Cargo registry cache uses: actions/cache@v2 with: path: | ~/.cargo/registry/index ~/.cargo/registry/cache ~/.cargo/git key: ${{ runner.os }}-cargo-registry-${{ steps.date.outputs.date }} - name: Rust toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Build Documentation uses: actions-rs/cargo@v1 with: command: doc args: --no-deps --all --document-private-items - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./target/doc publish_branch: gh-pages force_orphan: true