ci: fix test-cgal OOM + add Doxygen API-docs job #7
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/CI-test-cgal-OOM-Doxygen-Job"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Two independent CI improvements bundled in one PR (both touch only
.gitea/).1. test-cgal OOM fix
Addresses the test-cgal failures that have appeared on every PR since
test_scalability_smoke.cpplanded (PR #4). Three small changes:--memory--memory-swap-jLocal verification: full 183-test suite passes in ~1 s with peak resident memory ~700 MB. The ARM64 runner now has the same headroom.
2. API-docs job (new, soft-fail)
Introduces
.gitea/workflows/doc-build.yaml— a separate workflow with the distinct name API Docs (avoids name collision with the existing C++ Tests workflow).Properties:
continue-on-error: true→ never blocks a mergedoxygen DoxyfileDockerfile.ci-cppalso pre-installs doxygen so future iterations can drop the in-job install stepWhen Doxygen coverage matures (Phase 8c — User_manual.md), this job can be promoted to a hard requirement and the HTML deployed to Pages.
Verification plan
Merge order matters slightly:
Alternative: merge in either order; PR #6 will simply not have a green test-cgal until this PR lands.
No changes to algorithm code, no changes to test code — purely infrastructure.
Two CI improvements: 1. **test-cgal OOM fix** * memory limit 1400m → 1600m (cc1plus needs ~700 MB for CGAL + Eigen) * memory-swap 1400m → 1600m (was less than memory, Docker rejected the config; now disables swap entirely so OOM fails fast) * build parallelism -j2 → -j1 (single worker leaves headroom) These three changes together address the test-cgal failures observed since the test_scalability_smoke.cpp was added. Locally the full suite (183 tests including the brezel.obj genus-2 mesh) runs in ~1 s with peak ~700 MB; the ARM64 CI runner now has the same headroom. 2. **API-docs job (new, soft-fail)** * .gitea/workflows/doc-build.yaml — separate workflow, distinct name "API Docs" * Runs only on pull requests; `continue-on-error: true` ensures warnings never block the merge * Installs doxygen, runs `doxygen Doxyfile`, uploads the generated HTML as a 14-day artifact for reviewer inspection * Dockerfile.ci-cpp also pre-installs doxygen so future iterations can drop the in-job install step When Doxygen coverage matures (Phase 8c — User_manual.md), this job can be promoted to a hard requirement and the HTML deployed to Pages. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>