From 311360f925e147693330c48e3d4cf620db3d2004 Mon Sep 17 00:00:00 2001 From: Tarik Moussa Date: Tue, 19 May 2026 22:51:17 +0200 Subject: [PATCH] ci: remove unsupported upload-artifact@v4 from doc-build job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .gitea/workflows/doc-build.yaml | 36 +++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/doc-build.yaml b/.gitea/workflows/doc-build.yaml index 143cf5d..dc4216b 100644 --- a/.gitea/workflows/doc-build.yaml +++ b/.gitea/workflows/doc-build.yaml @@ -9,12 +9,16 @@ on: # ───────────────────────────────────────────────────────────────────────────── # Doc-build — informational only # -# Generates Doxygen HTML from the public headers and uploads it as an -# artifact for reviewer inspection. 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 artifact deployed to -# Pages. +# 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: @@ -26,9 +30,6 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Install Doxygen - run: apt-get update && apt-get install -y --no-install-recommends doxygen - - name: Generate API documentation run: doxygen Doxyfile 2>&1 | tee doxygen.log @@ -38,13 +39,18 @@ jobs: 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: Upload HTML as artifact + - name: Report HTML output if: always() - uses: actions/upload-artifact@v4 - with: - name: doxygen-html - path: doc/doxygen/html/ - retention-days: 14 + 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