Skip to content

Commit

Permalink
doc: Added a github workflow which automatically builds and deploys t…
Browse files Browse the repository at this point in the history
…he documentation to the github pages webserver

from now on, any change to the 'site' branch will trigger a rebuild/deploy action.
  • Loading branch information
rhornig committed Mar 15, 2024
1 parent fe7c023 commit a1732e6
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/sphinx-doc-build-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Workflow for building and deploying a Sphinx site to GitHub Pages
name: Build and deploy sphinx docs to GitHub Pages from site branch

on:
# Runs on pushes targeting the default branch
push:
branches: ["site"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Sphinx Build
uses: ammaraskar/[email protected]
with:
docs-folder: doc/src
build-command: make html
# Run before the build command, you can use this to install system level dependencies, for example with "apt-get update -y && apt-get install -y perl"
pre-build-command: doc/src/tools/setup-build-process.sh
- name: Upload github pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: "doc/src/_build/html/"

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy uploaded artifact to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
8 changes: 8 additions & 0 deletions doc/src/tools/setup-build-process.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/sh

export DEBIAN_FRONTEND=noninteractive
apt-get update -yy
apt-get upgrade -yy
apt-get install -yy git
git config --global --add safe.directory /github/workspace
pip3 install sphinx-immaterial

0 comments on commit a1732e6

Please sign in to comment.