js8call/.github/workflows/test-build-docs.yml
Chris-AC9KH 82e7ec54e5 test-build-docs.yml:tweak the name of the dry run script since we now
know it can fetch the pre-built doxy binary. This script would mainly
    be used to test new doxy builds for validity without touching GitHub
    Pages
2026-08-12 07:15:14 -05:00

47 lines
1.6 KiB
YAML

name: Test Doxygen Build (Dry Run)
# Manual dry run: fetches the prebuilt doxygen binary from the js8lib
# release, verifies it, builds the docs, and uploads docs/html as a
# plain artifact for inspection. Does NOT touch GitHub Pages.
on:
workflow_dispatch:
jobs:
build_docs_dry_run:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y graphviz
- name: Fetch prebuilt doxygen 1.16.1
run: |
set -euo pipefail
mkdir -p local/doxygen1161
curl -fsSL -o doxygen.tar.gz \
"https://github.com/JS8Call-improved/js8lib/releases/download/lib%2F4.0/doxygen-1.16.1.tar.gz"
curl -fsSL -o doxygen.tar.gz.sha256 \
"https://github.com/JS8Call-improved/js8lib/releases/download/lib%2F4.0/doxygen-1.16.1.tar.gz.sha256"
EXPECTED="$(awk '{print $1}' doxygen.tar.gz.sha256)"
ACTUAL="$(sha256sum doxygen.tar.gz | awk '{print $1}')"
[ "$EXPECTED" = "$ACTUAL" ] || { echo "checksum mismatch"; exit 1; }
tar -C local/doxygen1161 -xzf doxygen.tar.gz
chmod +x local/doxygen1161/bin/doxygen
- name: Sanity-check doxygen binary
run: local/doxygen1161/bin/doxygen --version
- name: Build docs
run: (cat .github/workflows/misc/Doxyfile; echo "PROJECT_NUMBER=master";) | local/doxygen1161/bin/doxygen -
- name: Upload docs/html for inspection
uses: actions/upload-artifact@v7
with:
name: docs-html-dry-run
path: docs/html
retention-days: 7