-
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
Verify that the tools are actually distributed on beta/stable channels #54483
Comments
HI @kennytm! I'd like to take care of this one |
@christianpoveda Thanks! |
I started working on this here https://github.com/christianpoveda/rust/commit/2d93ce6cfdcce9d538644d7e607777d32c33a09d. However, I'm not sure if everything is where it should. |
@christianpoveda Looks fine (except all the strange whitespace changes on
|
Ok I'll do the changes to the dockerfiles and CI configuration files. PD: the strange whitespaces are YAPF's fault. I'll fix them |
We don't really need |
Add checking for tool distribution in Tier 1 This fixes rust-lang#54483 r? @kennytm
In #54206 it was noted that RLS was missing in
x86_64-pc-windows-gnu
, but toolstate didn't see the issue because it only checksx86_64-pc-windows-msvc
andx86_64-unknown-linux-gnu
. We ought to ensure that the tools are not forgotten at least on all tier-1 platforms.The simplest fix right now is to add a check that if a tool failed to build, the whole dist job should be aborted. Currently we allowed tool dist to fail because of this:
rust/src/bootstrap/dist.rs
Lines 1166 to 1169 in e7b5ba8
similar for Clippy:
rust/src/bootstrap/dist.rs
Lines 1245 to 1252 in e7b5ba8
and rustfmt:
rust/src/bootstrap/dist.rs
Lines 1323 to 1331 in e7b5ba8
What we should do is modify the
or_else
branch topanic!
unless we are configured to allow omitting these tools (i.e. in the nightly channel). (Consider refactor this into the same function to avoid writing the same thing 5 times.)While it is possible to check the release channel directly inside rustbuild, I consider this a bad coupling. It is better to add a configuration variable
--enable-missing-tools
, and modifysrc/ci/run.sh
to pass this into$RUST_CONFIGURE_ARGS
when$RUST_RELEASE_CHANNEL = "nightly"
, or$DIST_REQUIRE_ALL_TOOLS
is undefinedYou may see #39824 for how to add a config to rustbuild.
After this issue is fixed, we'll ensure RLS/Clippy/Rustfmt will be present on all tier-1 platforms on beta/stable. In the future we should record and alert the tool developers when they fail to build on nightly or lower-tier platforms, but let's get the immediate issue fixed first...
The text was updated successfully, but these errors were encountered: