From fdf94c040806c3563bdd5dcb74cf636613447850 Mon Sep 17 00:00:00 2001 From: hellno Date: Thu, 2 Jul 2026 18:39:27 +0200 Subject: [PATCH] ci: stop the linux runner OOMing on disk (CARGO_INCREMENTAL=0 + wider cleanup) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The linux job has been intermittently failing on "No space left on device" at the trailing signerd test / rust-cache save — every real build/clippy/test step passes, then target/ + the cache save overflow the runner. Two low-risk, no-new-dependency changes: 1. CARGO_INCREMENTAL=0 (workspace env) — one-shot CI never reuses incremental artifacts, so they are pure disk cost; off caps target/ growth across the workspace build + tray build + tests + three --all-targets clippy passes. 2. Widen the pre-existing "Free up disk space" step: remove all of /opt/hostedtoolcache (this job uses rustup + Foundry, not the hosted python/node/go runtimes) plus node_modules/powershell/chromium/gcloud. The step already runs before rust-cache/Foundry, so anything a later step needs is recreated. Net ~+10 GB starting headroom on top of the smaller target/. Raises the floor and lowers the peak, so the job stops depending on a lucky runner. --- .github/workflows/ci.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43e9c24..29391b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,10 @@ on: env: CARGO_TERM_COLOR: always + # One-shot CI never rebuilds, so incremental artifacts are pure disk cost. Off keeps the Linux + # `target/` dir from outgrowing the freed disk across the workspace build + tray build + tests + + # three clippy passes (the linux job kept OOMing the runner on "No space left on device"). + CARGO_INCREMENTAL: "0" jobs: # Fail-fast gate: formatting is OS-independent, so check it once, fast, before the heavy builds. @@ -55,13 +59,17 @@ jobs: - uses: actions/checkout@v4 # The dep tree (gpui + Helios/revm/bls + the Railgun ZK tree) overflows the stock ubuntu # runner's ~14 GB and OOMs the build / cache-save — and the rust-cache RESTORE below extracts a - # multi-GB target dir that can itself exhaust the disk before anything builds. Reclaim ~20 GB of + # multi-GB target dir that can itself exhaust the disk before anything builds. Reclaim ~30 GB of # preinstalled toolchains we never use FIRST, before the cache restore, so neither the restore - # nor the build runs out of space. (macOS runners have the headroom, so this is Linux-only.) + # nor the build runs out of space. This job uses rustup + Foundry, NOT any hosted-toolcache + # runtime (python/node/go), so the whole cache is dead weight here. (macOS has the headroom, so + # this is Linux-only.) Paired with CARGO_INCREMENTAL=0 above, which caps target/ growth. - name: Free up disk space run: | sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/ghc \ - /opt/hostedtoolcache/CodeQL /usr/local/share/boost || true + /opt/hostedtoolcache /usr/local/share/boost \ + /usr/local/lib/node_modules /usr/local/share/powershell \ + /usr/local/share/chromium /usr/lib/google-cloud-sdk || true sudo docker image prune --all --force >/dev/null 2>&1 || true df -h / - uses: Swatinem/rust-cache@v2