|
name: CI |
|
|
|
on: |
|
push: |
|
branches: |
|
- "main" |
|
pull_request: |
|
# Allow manual runs through the web UI |
|
workflow_dispatch: |
|
|
|
permissions: {} |
|
|
|
jobs: |
|
# Build job |
|
build-sphinx: |
|
runs-on: ubuntu-latest |
|
permissions: |
|
contents: read |
|
steps: |
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 |
|
with: |
|
persist-credentials: false |
|
|
|
- name: Set up Python |
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 |
|
with: |
|
python-version: "3.x" |
|
|
|
- name: Install build dependencies |
|
run: | |
|
python -m pip install --upgrade pip |
|
python -m pip install -r requirements.txt |
|
|
|
- name: Run sphinx |
|
run: python -m sphinx -T -b html -d _build/doctrees -D language=en . _build/html |
|
|
|
- name: Upload distribution artifacts |
|
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 |
|
with: |
|
path: _build/html/ |
|
|
|
deploy-pages: |
|
needs: build-sphinx |
|
if: ${{ github.ref == 'refs/heads/main' }} |
|
|
|
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment |
|
permissions: |
|
pages: write # to deploy to Pages |
|
id-token: write # to verify the deployment originates from an appropriate source |
|
|
|
# Deploy to the github-pages environment |
|
environment: |
|
name: github-pages |
|
url: ${{ steps.deployment.outputs.page_url }} |
|
|
|
# Specify runner + deployment step |
|
runs-on: ubuntu-latest |
|
steps: |
|
- name: Deploy to GitHub Pages |
|
id: deployment |
|
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0 |