From d5a4d0e8ff75308040610395c64c7dd99b2196ad Mon Sep 17 00:00:00 2001 From: Tarik Moussa Date: Sun, 31 May 2026 07:59:33 +0200 Subject: [PATCH] =?UTF-8?q?ci:=20add=20memory=20limits=20to=20all=20contai?= =?UTF-8?q?ners=20=E2=80=94=20Pi=20protection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every container now has an explicit --memory limit so the OOM killer has clean boundaries to work with instead of letting any single job consume all available RAM: test-fast: 800m (build Eigen+GTest, run 26 tests) test-cgal: 2000m (LOW_MEMORY_BUILD, was already set) quality-gates: 600m (apt install + 4 script checks) doc-build: 800m (Doxygen HTML generation) markdown-links: 400m (pure Python, very lightweight) memory-swap = 1.5× memory in each case (150% total) so the OOM killer fires cleanly without exhausting the SD card. ⚠ This is workflow-side protection only. The runner-side fix (capacity: 1 in act-runner config) prevents parallel containers entirely and is the more reliable protection — see CLAUDE.md. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/cpp-tests.yml | 2 ++ .gitea/workflows/doc-build.yaml | 1 + .gitea/workflows/markdown-links.yml | 1 + 3 files changed, 4 insertions(+) diff --git a/.gitea/workflows/cpp-tests.yml b/.gitea/workflows/cpp-tests.yml index 851bd76..e72c505 100644 --- a/.gitea/workflows/cpp-tests.yml +++ b/.gitea/workflows/cpp-tests.yml @@ -33,6 +33,7 @@ jobs: runs-on: eulernest container: image: git.eulernest.eu/conformallab/ci-cpp:latest + options: "--memory=800m --memory-swap=1200m" steps: - uses: actions/checkout@v4 @@ -137,6 +138,7 @@ jobs: runs-on: eulernest container: image: git.eulernest.eu/conformallab/ci-cpp:latest + options: "--memory=600m --memory-swap=900m" steps: - uses: actions/checkout@v4 diff --git a/.gitea/workflows/doc-build.yaml b/.gitea/workflows/doc-build.yaml index d9e8387..79ef786 100644 --- a/.gitea/workflows/doc-build.yaml +++ b/.gitea/workflows/doc-build.yaml @@ -31,6 +31,7 @@ jobs: runs-on: eulernest container: image: git.eulernest.eu/conformallab/ci-cpp:latest + options: "--memory=800m --memory-swap=1200m" continue-on-error: true # never block the merge steps: - uses: actions/checkout@v4 diff --git a/.gitea/workflows/markdown-links.yml b/.gitea/workflows/markdown-links.yml index c7e6192..1f058b5 100644 --- a/.gitea/workflows/markdown-links.yml +++ b/.gitea/workflows/markdown-links.yml @@ -31,6 +31,7 @@ jobs: runs-on: eulernest container: image: git.eulernest.eu/conformallab/ci-cpp:latest + options: "--memory=400m --memory-swap=600m" steps: - uses: actions/checkout@v4