Compile R packages single-job and require swap on the runner

jaspMixedModels stalled at 6/7 for three passes on rstanarm:

  g++: fatal error: Killed signal terminated program cc1plus
  ERROR: compilation failed for package 'rstanarm'

Stan generates translation units where one cc1plus wants 4-8 GB. At -j2 on a
9 GB container that is an instant kill, and the symptom is simply a module
that never appears - the same shape as the OpenMx failure earlier, and just
as easy to mistake for something else.

Default R_JOBS to 1, and give the runner swap so an over-commit degrades into
a slow compile instead of a dead one. Documented in the runner requirements,
since a fresh runner without swap would hit this too.
This commit is contained in:
agw
2026-09-03 20:35:00 +02:00
parent 14d790174b
commit 9ae157c97a
+5
View File
@@ -140,6 +140,11 @@ The build runs for hours and needs disk. On the Gitea runner host:
3h) must match, otherwise Gitea kills the job at 3h regardless of the runner.
- Roughly 40–60 GB of free disk for the build tree, the bundled R and the
staged install.
- **Swap.** `rstanarm` (required by `jaspMixedModels`) and `OpenMx` generate
translation units where a single `cc1plus` wants 4–8 GB. Without swap an
over-commit is an instant OOM kill, which surfaces only as a module that never
builds. 16 GB RAM plus 8 GB swap, with R packages compiled at `R_JOBS=1`, is
what this build was verified against.
## Running it by hand