From 0fb5271f6d1ae3b8b58d9401cc5375bde2983827 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Wed, 3 Jun 2026 22:47:21 -0700 Subject: [PATCH] ci: cap CARGO_BUILD_JOBS at 1 to stop the DinD engine OOM-killing The recent CI failures ("Cannot connect to the Docker daemon") are the DinD build engine being OOM-killed mid-compile, not flakiness. Serialize both the check and test_nvim cargo builds to jobs=1. Temporary mitigation pending more host RAM. Co-Authored-By: Claude Opus 4.8 (1M context) --- .dagger/src/hephaestus_ci/main.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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"))