← Back to context

Comment by stevedonovan

2 days ago

Is this not more a Cargo thing? Cargo is obsessed with correct builds and eventually the file system fills up with old artifacts.

(I know, I have to declare Cargo bankruptcy every few weeks and do a full clean & rebuild)

A little of both. Incremental compilation cache is likely the single largest item in the target directory but it gets cleaned up on each invocation so it doesn't scale in size with time.

I believe the next release will have a cache GC but only for global caches (e.g. `.crate` files). I'd like us to at least cleanup the layout of the target directory so its easier to track stuff before GCing it. Work is underway for this. A cheap GC we could add earlier is for artifacts specific to older cargo versions.

Correct builds != never running garbage cleanup. I would settle for it evicting older variants of a build (I also dislike the random hash that’s impossible to determine what specifically is different between two hashes / which one is newer).