Some checks failed
C++ Tests / test-fast (push) Successful in 2m19s
C++ Tests / test-fast (pull_request) Successful in 3m28s
API Docs / doc-build (pull_request) Successful in 40s
C++ Tests / test-cgal (push) Has been skipped
C++ Tests / test-cgal (pull_request) Failing after 10m57s
Gitea Actions on GHES does not support actions/upload-artifact@v4 — the v4 release switched to GitHub-only APIs (artifact backend rewritten). The doc-build job was failing with "artifact@v4+ are not currently supported on GHES." Changes ─────── * Removed the artifact-upload step entirely. Rationale: the warning summary in the job log is the primary reviewer signal for the documentation health check. Reviewers who want to inspect the HTML locally can rebuild it with `cmake --build build --target doc`. * Removed the apt-get install step. Doxygen is now pre-installed in the ci-cpp container (Dockerfile change earlier in this PR). * Added an explanatory comment so the missing artifact step is not re-introduced unknowingly. * Added a "Report HTML output" step that prints file count + total size for visibility (a no-op if the HTML directory is absent). When/if a real artifact host appears (Gitea Pages, S3, GitHub mirror release), this job can be extended to publish the HTML there. For now, the in-log warning summary is sufficient. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
57 lines
2.3 KiB
YAML
57 lines
2.3 KiB
YAML
name: API Docs
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
# Doc-build — informational only
|
|
#
|
|
# Generates Doxygen HTML from the public headers and reports warning
|
|
# statistics. Does NOT block merges: `continue-on-error: true` ensures
|
|
# warnings or extraction issues never fail the CI gate. When Doxygen
|
|
# coverage is denser (Phase 8c), this job can be promoted to a hard
|
|
# requirement and the HTML deployed to Pages.
|
|
#
|
|
# Note: Gitea Actions on GHES does not support `actions/upload-artifact@v4`,
|
|
# so HTML artifact upload is intentionally omitted. The warning summary
|
|
# in the job log is the primary reviewer signal; reviewers who want the
|
|
# HTML can rebuild it locally with `cmake --build build --target doc`.
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
jobs:
|
|
doc-build:
|
|
if: github.event_name == 'pull_request'
|
|
runs-on: eulernest
|
|
container:
|
|
image: git.eulernest.eu/conformallab/ci-cpp:latest
|
|
continue-on-error: true # never block the merge
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Generate API documentation
|
|
run: doxygen Doxyfile 2>&1 | tee doxygen.log
|
|
|
|
- name: Summarise warnings
|
|
if: always()
|
|
run: |
|
|
if [ -f doc/doxygen/doxygen-warnings.log ]; then
|
|
warn=$(wc -l < doc/doxygen/doxygen-warnings.log)
|
|
echo "DOC ▸ Doxygen warnings: $warn"
|
|
echo ""
|
|
echo "First 20 warnings:"
|
|
head -20 doc/doxygen/doxygen-warnings.log
|
|
else
|
|
echo "DOC ▸ No warning log produced — check that Doxyfile WARN_LOGFILE points to doc/doxygen/doxygen-warnings.log"
|
|
fi
|
|
|
|
- name: Report HTML output
|
|
if: always()
|
|
run: |
|
|
if [ -d doc/doxygen/html ]; then
|
|
files=$(find doc/doxygen/html -type f | wc -l)
|
|
size=$(du -sh doc/doxygen/html | cut -f1)
|
|
echo "DOC ▸ HTML output: $files files, $size total"
|
|
fi
|