Skip to content

github actions workflow for publishing documentation #1

github actions workflow for publishing documentation

github actions workflow for publishing documentation #1

Workflow file for this run

name: Documentation
permissions: read-all
# Trigger for PR or merge to develop branch
on:
push:
branches: develop
paths:
- 'docs/**'
pull_request:
paths:
- 'docs/**'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
with:
python-version: '3.11'
cache: 'pip'
- name: Install Dependencies
run: pip install -r docs/requirements.txt
- name: Configure & Build
run: |
cmake -DCMAKE_VERBOSE_MAKEFILE=on -B build docs
cmake --build build
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: docs
path: build/Documentation/html
publish:
needs: build
if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' && github.ref == 'refs/heads/develop'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b # v4.1.5
with:
ref: gh-pages
path: gh-pages
- name: Remove old site
run: rm -rf gh-pages/*
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: docs
path: gh-pages
- name: Push to GitHub Pages
run: |
cd gh-pages
touch .nojekyll
git add .
git config --global user.name "GitHub Actions"
git config --global user.email github-actions@github.com
git commit -m "Update documentation"
git push --force origin gh-pages