documentation #510
This file contains hidden or 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: documentation | |
| permissions: | |
| contents: read | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: ['main', 'rel-*', 'ci/*'] | |
| pull_request: | |
| merge_group: | |
| schedule: | |
| - cron: '0 18 * * *' | |
| jobs: | |
| generate: | |
| name: Generate API documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Install rust toolchain | |
| uses: dtolnay/rust-toolchain@nightly | |
| - name: Install zola | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: zola@0.19.1 # Matched to rustls repo | |
| - name: Verify API docs JSON data | |
| run: | | |
| if ! diff website/static/api.json <(cargo run -p rustls-ffi-tools --bin docgen 2>/dev/null); then | |
| echo | |
| echo "ERROR: Generated api.json differs from checked-in version" | |
| echo "Run 'cargo run -p rustls-ffi-tools --bin docgen > website/static/api.json' and commit the changes" | |
| exit 1 | |
| fi | |
| - name: Generate site pages | |
| run: | | |
| cd website && zola build --output-dir ../target/website/ | |
| - name: Package and upload artifact | |
| uses: actions/upload-pages-artifact@v4 | |
| if: github.ref == 'refs/heads/main' | |
| with: | |
| path: ./target/website/ | |
| deploy: | |
| name: Deploy | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'rustls/rustls-ffi' && github.ref == 'refs/heads/main' | |
| needs: generate | |
| permissions: | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |