ci: remove unsupported upload-artifact@v4 from doc-build job
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>
This commit is contained in:
Tarik Moussa
2026-05-19 22:51:17 +02:00
parent 3cc96703cc
commit 311360f925

View File

@@ -9,12 +9,16 @@ on:
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────
# Doc-build — informational only # Doc-build — informational only
# #
# Generates Doxygen HTML from the public headers and uploads it as an # Generates Doxygen HTML from the public headers and reports warning
# artifact for reviewer inspection. Does NOT block merges: # statistics. Does NOT block merges: `continue-on-error: true` ensures
# `continue-on-error: true` ensures warnings or extraction issues never # warnings or extraction issues never fail the CI gate. When Doxygen
# fail the CI gate. When Doxygen coverage is denser (Phase 8c), this job # coverage is denser (Phase 8c), this job can be promoted to a hard
# can be promoted to a hard requirement and the artifact deployed to # requirement and the HTML deployed to Pages.
# 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: jobs:
doc-build: doc-build:
@@ -26,9 +30,6 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install Doxygen
run: apt-get update && apt-get install -y --no-install-recommends doxygen
- name: Generate API documentation - name: Generate API documentation
run: doxygen Doxyfile 2>&1 | tee doxygen.log run: doxygen Doxyfile 2>&1 | tee doxygen.log
@@ -38,13 +39,18 @@ jobs:
if [ -f doc/doxygen/doxygen-warnings.log ]; then if [ -f doc/doxygen/doxygen-warnings.log ]; then
warn=$(wc -l < doc/doxygen/doxygen-warnings.log) warn=$(wc -l < doc/doxygen/doxygen-warnings.log)
echo "DOC ▸ Doxygen warnings: $warn" echo "DOC ▸ Doxygen warnings: $warn"
echo ""
echo "First 20 warnings:"
head -20 doc/doxygen/doxygen-warnings.log 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 fi
- name: Upload HTML as artifact - name: Report HTML output
if: always() if: always()
uses: actions/upload-artifact@v4 run: |
with: if [ -d doc/doxygen/html ]; then
name: doxygen-html files=$(find doc/doxygen/html -type f | wc -l)
path: doc/doxygen/html/ size=$(du -sh doc/doxygen/html | cut -f1)
retention-days: 14 echo "DOC ▸ HTML output: $files files, $size total"
fi