Skip to content

ci: stop the linux runner OOMing on disk (CARGO_INCREMENTAL=0 + wider cleanup)#178

Merged
hellno merged 1 commit into
mainfrom
hellno/ci-disk-space
Jul 2, 2026
Merged

ci: stop the linux runner OOMing on disk (CARGO_INCREMENTAL=0 + wider cleanup)#178
hellno merged 1 commit into
mainfrom
hellno/ci-disk-space

Conversation

@hellno

@hellno hellno commented Jul 2, 2026

Copy link
Copy Markdown
Owner

The linux job has been intermittently failing on No space left on device at the trailing signerd test / rust-cache save (hit on #171 and #175, each needing a manual re-run). Every real build/clippy/test step passes — then target/ plus 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're pure disk cost. Off caps target/ growth across the workspace build + tray build + tests + three --all-targets clippy passes. Biggest single lever.
  2. Widen the 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. ~+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. This PR self-validatespull_request runs its own ci.yml, so a green linux here is the proof.

Not switching to jlumbroso/free-disk-space (reclaims more, but a third-party action in the supply chain) unless this proves insufficient — the hand-rolled expansion keeps zero new deps, matching the repo's posture.

… cleanup)

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.
@hellno
hellno merged commit ba694a8 into main Jul 2, 2026
5 checks passed
@hellno
hellno deleted the hellno/ci-disk-space branch July 2, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant