Merge pull request 'ci: fix test-cgal OOM + add Doxygen API-docs job' (#7) from feature/CI-test-cgal-OOM-Doxygen-Job into main
Reviewed-on: #7
This commit is contained in:
@@ -10,6 +10,7 @@ RUN apt-get update -qq && \
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
nodejs \
|
||||
doxygen \
|
||||
cmake \
|
||||
build-essential \
|
||||
git \
|
||||
|
||||
@@ -63,7 +63,12 @@ jobs:
|
||||
runs-on: eulernest
|
||||
container:
|
||||
image: git.eulernest.eu/conformallab/ci-cpp:latest
|
||||
options: "--memory=1400m --memory-swap=1400m"
|
||||
# Memory bumped from 1400m → 1600m to avoid OOM during CGAL header
|
||||
# compilation on ARM64 (CGAL + Eigen templates allocate ~700 MB per
|
||||
# cc1plus instance; -j1 leaves a small margin).
|
||||
# memory-swap == memory disables swap entirely so OOM fails fast
|
||||
# rather than thrashing on the SD card.
|
||||
options: "--memory=1600m --memory-swap=1600m"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -72,7 +77,7 @@ jobs:
|
||||
run: cmake -S code -B build -DWITH_CGAL_TESTS=ON -DCMAKE_BUILD_TYPE=Release
|
||||
|
||||
- name: Build CGAL-Tests
|
||||
run: nice -n 19 cmake --build build --target conformallab_cgal_tests -j2
|
||||
run: nice -n 19 cmake --build build --target conformallab_cgal_tests -j1
|
||||
|
||||
- name: Run CGAL-Tests
|
||||
run: >
|
||||
|
||||
56
.gitea/workflows/doc-build.yaml
Normal file
56
.gitea/workflows/doc-build.yaml
Normal file
@@ -0,0 +1,56 @@
|
||||
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
|
||||
Reference in New Issue
Block a user