Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add automated documentation publishing workflow
  • Loading branch information
glynos committed Jan 3, 2026
commit 45afea2c1a02bcee449058e0175ae2a4f5674813
67 changes: 67 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Documentation

on:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: write

jobs:
build-and-deploy:
name: Build and Deploy Documentation
runs-on: ubuntu-24.04

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
doxygen \
pandoc \
python3 \
python3-pip \
ninja-build

- name: Install Python documentation dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install \
sphinx \
sphinx_bootstrap_theme \
breathe \
recommonmark

- name: Install vcpkg
run: |
git clone https://github.com/Microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh

- name: Configure CMake
run: |
cmake \
-B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake \
.

- name: Build documentation
run: cmake --build build --target doc

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/docs/html
publish_branch: gh-pages
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
commit_message: 'Deploy documentation from ${{ github.sha }}'
Loading