| name: Deploy Documentation |
| |
| on: |
| workflow_dispatch: |
| push: |
| branches: |
| - main |
| paths: |
| - "docs/**" |
| - ".github/workflows/deploy-docs.yml" |
| |
| # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages |
| permissions: |
| contents: read |
| pages: write |
| id-token: write |
| |
| # Allow one concurrent deployment |
| concurrency: |
| group: "pages" |
| cancel-in-progress: true |
| |
| jobs: |
| build: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| with: |
| fetch-depth: 0 |
| - name: Cache Rust Dependencies |
| uses: actions/cache@v3 |
| with: |
| path: | |
| ~/.cargo |
| key: docs-${{ runner.os }} |
| - name: Install mdbook |
| run: | |
| make install |
| - name: Build |
| run: | |
| make build |
| - name: Upload artifact |
| uses: actions/upload-pages-artifact@v1 |
| with: |
| path: ./docs/book/html |
| |
| # Deployment job |
| 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@v1 |