Publish documentation #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish documentation | |
on: | |
workflow_call: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
pages: write # to deploy to Pages | |
id-token: write # to verify the deployment originates from an appropriate source | |
jobs: | |
build_docs: | |
name: Build documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Configure GitHub Pages | |
uses: actions/configure-pages@v5 | |
- name: Set up Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Cache build artifacts | |
uses: Swatinem/rust-cache@v2 | |
- name: Build documentation | |
run: cargo doc --workspace --release | |
- name: Remove lock file | |
run: rm -f ./target/doc/.lock | |
- name: Create index.html file | |
run: echo '<meta http-equiv="refresh" content="0;url=numbrs/index.html">' > ./target/doc/index.html | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: ./target/doc | |
deploy_docs: | |
name: Deploy documentation site | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
needs: build_docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |