-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
[auto-toolstate][1/8] Always ignore build failure of failable tools (rls, rustfmt, clippy) #46102
Conversation
I believe this is good, but we should get more eyes on the approach here just in case. I'm happy with this. cc @rust-lang/infra @alexcrichton @nrc |
Thanks for the PR! I'm a little confused though, mind explaining a bit more? So for example if I set the state of the rls to "broken" then the build completes on all bots successfully today, so I'm not entirely certain what this is enabling. Does this mean that if the state is set to "testing" and the build fails that we'll ignore it? |
@alexcrichton The idea is to make The tools are currently referred in two kinds of jobs in the CI:
Before this PR, if the compile step failed, it will exit with code 1, and fail the whole process. Such failure can happen in the After this PR, compile step failure is ignored, so After this PR and before toolstate is removed,
The eventual intention would be,
We will need rustbuild to collect the build/test failure result of these tools, which will happen at step 3/8. |
Ok thanks for the info! One point mentioned on #45861 though is that the failure interpretation here is also channel specific in that we can't allow broken tools to reach beta. I think as-is it's fine for now but will we eventually want some channel checking in these locations as well? |
@alexcrichton Since we can't distinguish between a beta merge and master merge (every thing is run in the
I have better ideas if we can easily distinguish between a beta merge and master merge ;) |
Looks good to me! Thanks for jumping on this @kennytm ! |
@alexcrichton Thanks! That changes the final CI structure like this:
|
@kennytm sounds good to me! |
☔ The latest upstream changes (presumably #46166) made this pull request unmergeable. Please resolve the merge conflicts. |
…miri). If build failed for these tools, they will be automatically skipped from distribution, and will not fail the whole build. Test failures are *not* ignored, nor build failure of other tools (e.g. cargo). Therefore it should have no observable effect to the current CI system. This is step 1/8 of automatic management of broken tools rust-lang#45861.
a80e433
to
8cc5cd4
Compare
@alexcrichton soooo do I hear an r+? |
@bors: r+ Sure, was going to wait on @Mark-Simulacrum but I will interpret this as pseudo approval! |
📌 Commit 8cc5cd4 has been approved by |
Yep, I was signing off there, just wanted to get a few more eyes on this just in case since it's a relatively major change. |
[auto-toolstate][1/8] Always ignore build failure of failable tools (rls, rustfmt, clippy) If build failed for these tools, they will be automatically skipped from distribution, and will not fail the whole build. Test failures are *not* ignored, nor build failure of other tools (e.g. cargo). Therefore it should have no observable effect to the current CI system. This is step 1/8 of automatic management of broken tools #45861. The purpose is concentrate all failure detection about tools into a single CI job for easy management, while keeping the ability to distribute these tools in the nightlies. r? @Mark-Simulacrum
☀️ Test successful - status-appveyor, status-travis |
If build failed for these tools, they will be automatically skipped from distribution, and will not fail the whole build.
Test failures are not ignored, nor build failure of other tools (e.g. cargo). Therefore it should have no observable effect to the current CI system.
This is step 1/8 of automatic management of broken tools #45861. The purpose is concentrate all failure detection about tools into a single CI job for easy management, while keeping the ability to distribute these tools in the nightlies.
r? @Mark-Simulacrum