How one developer split a 170 GB Rust project across repos to fix CI gridlock
A developer running a self-hosted CI runner found that a single Rust project was consuming over 170 gigabytes of build artefacts per run, blocking all other repositories for up to an hour at a time. The machine's disk had to be manually cleared after each build cycle, and every unrelated project — from Go modules to a blog — queued behind the Rust crate graph. While Cargo workspaces offered a built-in solution for incremental compilation, the developer found they couldn't provide independent release cadences for reusable library crates. The solution was a hybrid approach: keeping a workspace for tightly coupled distributable components while moving reusable libraries like config, TUI, and telemetry into separate repositories. This allowed eleven crates to maintain five distinct version numbers, so unchanged crates like tui were no longer dragged into unnecessary releases.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in