Uh oh!
There was an error while loading. Please reload this page.
[auto-toolstate][1/8] Always ignore build failure of failable tools (rls, rustfmt, clippy) - #46102
Conversation
Mark-Simulacrum
commented
Nov 20, 2017
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 |
alexcrichton
commented
Nov 20, 2017
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? |
kennytm
commented
Nov 20, 2017
@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. |
alexcrichton
commented
Nov 20, 2017
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? |
kennytm
commented
Nov 20, 2017
@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 ;) |
alexcrichton
commented
Nov 20, 2017
nrc
commented
Nov 21, 2017
Looks good to me! Thanks for jumping on this @kennytm ! |
kennytm
commented
Nov 21, 2017
@alexcrichton Thanks! That changes the final CI structure like this:
|
alexcrichton
commented
Nov 21, 2017
@kennytm sounds good to me! |
bors
commented
Nov 21, 2017
☔ 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.
carols10cents
commented
Nov 27, 2017
@alexcrichton soooo do I hear an r+? |
alexcrichton
commented
Nov 27, 2017
@bors: r+ Sure, was going to wait on @Mark-Simulacrum but I will interpret this as pseudo approval! |
bors
commented
Nov 27, 2017
📌 Commit 8cc5cd4 has been approved by |
Mark-Simulacrum
commented
Nov 27, 2017
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. |
bors
commented
Nov 28, 2017
[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
bors
commented
Nov 28, 2017
☀️ 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