diff --git a/.dagger/src/hephaestus_ci/main.py b/.dagger/src/hephaestus_ci/main.py index 091a1e7..bb5a2dc 100644 --- a/.dagger/src/hephaestus_ci/main.py +++ b/.dagger/src/hephaestus_ci/main.py @@ -20,9 +20,10 @@ class HephaestusCi: dag.container() .from_("rust:1-bookworm") .with_exec(["rustup", "component", "add", "clippy", "rustfmt"]) - # Cap parallel rustc — unbounded (= ncpu) spikes memory on heavy - # crates and OOMs the build engine on a many-core runner. - .with_env_variable("CARGO_BUILD_JOBS", "4") + # Serialize compilation (jobs=1) — even 4 parallel rustc invocations + # spike memory on heavy crates and OOM-kill the DinD build engine. + # Slower, but the runner survives; revisit if the host gets more RAM. + .with_env_variable("CARGO_BUILD_JOBS", "1") .with_mounted_cache( "/usr/local/cargo/registry", dag.cache_volume("heph-cargo-registry"), @@ -83,7 +84,7 @@ class HephaestusCi: ] ) .with_env_variable("PATH", "/opt/nvim/bin:$PATH", expand=True) - .with_env_variable("CARGO_BUILD_JOBS", "4") + .with_env_variable("CARGO_BUILD_JOBS", "1") .with_directory("/workspace", src) .with_workdir("/workspace") .with_mounted_cache("/workspace/target", dag.cache_volume("heph-target"))