-
Notifications
You must be signed in to change notification settings - Fork 211
Target directories are not purged after build failures #820
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@pietroalbini I think this would be best addressed by making |
That shouldn't be the default behavior, but I'd welcome a |
As an alternative to the drop impl, we decided it would be more reliable to have a shared Rustwide will need a new |
The advantage of this method is it works even if the thread is killed and does not run destructors. |
Hmm, wait, that's not what I was proposing during the triage meeting. The builder thread currently starts each loop by checking if a crate is available to build, and if one is present it builds that crate. My suggestion is to add a check in every iteration of the loop that purges all the build directories and, if the disk usage is over a threshold, purges all the caches. |
Thanks for the correction, I keep calling it the wrong thing. What I mean is this bit of code: Line 78 in bdaf33b
|
@Nemo157 what's your thought on this? Currently we are not purging all build dirs on each iteration. ( we are purging all caches on toolchain change ) |
and while normal build failures would also lead to the release target directory being purged after the build, there are some error situations where we use |
While there is code to purge target directories once a build finishes, if an error happens during the build that code is never executed, leaking disk space. We should make sure the target directory is always purged, otherwise we risk running out of disk space if a lot of crates fail to build (for example during today's outage).
The text was updated successfully, but these errors were encountered: