diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 5ef30bc..2ad40f2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,12 +1,9 @@ name: Publish Documentation on: - # Trigger the workflow on pushes to the main branch push: - branches: - - main + branches: [main] - # Allows you to manually trigger the workflow from GitHub workflow_dispatch: jobs: @@ -14,28 +11,35 @@ jobs: runs-on: ubuntu-latest steps: - # Checkout the repository code - - name: Checkout code - uses: actions/checkout@v3 - - # Install Rust (default target is fine here) - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - # Build the documentation - - name: Build documentation - run: cargo doc --no-deps - - # Deploy to gh-pages branch - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./target/doc - destination_dir: ./datamaxi - publish_branch: gh-pages - allow_empty_commit: true + - 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: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./target/doc + publish_branch: gh-pages + allow_empty_commit: true