Skip to content

Merge branch 'staging' into release #119

Merge branch 'staging' into release

Merge branch 'staging' into release #119

Workflow file for this run

name: Deploy Documentation
on:
push:
branches: [release, staging]
permissions:
contents: write
jobs:
# Doxygen — full project documentation site (API reference + curated
# I/O+TOPICS axes + COOKBOOK + REPORTS, all generated from headers,
# examples, and the doxy/docs/{index,aliases,curated,reports}/ markdown).
# Publishes to the gh-pages root; MkDocs has been retired.
deploy-doxygen:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install Doxygen
run: |
sudo apt-get update -qq
sudo apt-get install -y doxygen
- name: Checkout repo (with full history so docs-build.sh can resolve git tags)
run: |
if ! git rev-parse --git-dir >/dev/null 2>&1; then
echo "checkout missing — run actions/checkout@v4 above"
exit 1
fi
# actions/checkout@v4 uses depth=1 by default; fetch tags so the
# version-deriving git describe in docs-build.sh sees real releases.
git fetch --tags --depth=0 origin || true
- name: Build Doxygen documentation (version from git tag, post-processed)
run: scripts/docs-build.sh
- name: Summarise Doxygen warnings
if: always()
run: |
log=doxy/docs/doxygen/warnings.log
if [[ -f $log ]]; then
count=$(wc -l < $log)
echo "::notice::Doxygen warnings: $count lines (see uploaded artifact 'doxygen-warnings')"
head -50 $log || true
else
echo "::notice::No Doxygen warnings log produced"
fi
- name: Upload Doxygen warnings log
if: always()
uses: actions/upload-artifact@v4
with:
name: doxygen-warnings
path: doxy/docs/doxygen/warnings.log
if-no-files-found: ignore
retention-days: 30
- name: Deploy Doxygen to gh-pages root
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doxy/docs/doxygen/html
keep_files: true