Skip to content

docs: polish project documentation and CI workflows #25

docs: polish project documentation and CI workflows

docs: polish project documentation and CI workflows #25

Workflow file for this run

name: CI
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
name: Pre-commit Checks
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Cache pre-commit hooks
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }}
restore-keys: |
pre-commit-${{ runner.os }}-
- name: Install pre-commit
run: pip install pre-commit
- name: Run pre-commit
run: pre-commit run --all-files
docs-build:
name: Docs and Pages Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- name: Install dependencies
run: npm ci
- name: Build docs
run: npm run docs:build-prod
- name: Verify build artifacts
run: |
test -f _site/index.html || exit 1
test -f _site/sitemap.xml || exit 1
test -f _site/robots.txt || exit 1
test -f _site/404.html || exit 1
test -f _site/assets/styles/website.css || exit 1
cmake-presets:
name: CMake Preset Sanity
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install CMake
uses: lukka/get-cmake@latest
- name: List presets
run: cmake --list-presets