-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Start a new slave per build #22448
Comments
Can’t ccache caches be shared between machines somehow, perhaps by storing the cache on a network share? This way we could just ccache llvm. |
That sounds like an excellent solution to the problem! |
A distributed ccache does sound useful here. Slave per build will take a few more minutes per cycle because of the time it takes to start slaves, but it's not a great cost. I wonder if we could use a simple distributed rustc cache to speed up half of the auto builds. |
Sounds a bit heavy-handed. |
Is this still an issue or is this handled by the job group(?) stuff that was implemented for the windows buildbots? |
I believe that using |
Triage: not aware of any changes here. |
This likely isn't going to happen, we'd basically have to rewrite our entire CI system. |
It is far too common nowadays that one build on our buildbot will end up corrupting all future builds, requiring a manual login to the bot to fix the state of affairs. The most common reason this happens is a rogue process remains running on Windows, preventing recreation of the executable (e.g. causing the compiler to fail to link on all future test runs).
It would likely be much more robust to start a new slave each time we start a new build. This way we're guaranteed a 100% clean slate when starting a build (e.g. no lingering processes). This would, however, require caching LLVM builds elsewhere and having the first step of the build to download the most recent LLVM build.
As such, this is not an easy bug to implement at all, hence the wishlist status for our infrastructure.
cc @brson
The text was updated successfully, but these errors were encountered: