-
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
Remove missing_tools
config
#79249
Comments
That might be related to #74709. |
Note that rustfmt always compiles successfully now, and miri should too. So I'm not sure |
Mentoring instructions:
|
missing_tools
config
I can take this up if no one else is working on it.
I am kinda new here, so any help would be much appreciated. |
@tharunsuresh-code right, this change is a little non-trivial - I marked it as E-easy because the compiler errors should all point you in the right direction :) if you do the things in the mentoring steps and it compiles it should be 90% of the way there. All the cascading changes you mentioned are things I would expect to change 👍 sounds like you're on the right track. |
Got it, thanks! I will give it a shot. |
In if is_expected {
// HACK(#82501): on Windows, the tools directory gets added to PATH when running tests, and
// compiletest confuses HTML tidy with the in-tree tidy. Name the in-tree tidy something
// different so the problem doesn't come up.
if tool == "tidy" {
tool = "rust-tidy";
}
let cargo_out = builder.cargo_out(compiler, self.mode, target).join(exe(tool, target));
let bin = builder.tools_dir(compiler).join(exe(tool, target));
builder.copy(&cargo_out, &bin);
bin
} else {
panic!("expected to build -- essential tool")
} Or we can return an empty path above, check |
@tharunsuresh-code I think all tools should have We shouldn't run try_exists, if a Step returns a path without building anything that's a bug but there's too many paths to check it for every single one |
Got it! So I have raised a pull request from my understanding of the required changes, please review and let me know what further things need to be modified. Specifically, I am not sure if the |
Somehow the tidy checks are failing at step "Building stage0 tool tidy". It throws an error like the filename is too long (partially shown below). I am still trying to get my head around the /media/d_drive/My_files/Visual_Studio_Code/github/rust_commit/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-tidy: line 1: h/media/d_drive/My_files/Visual_Studio_Code/github/rust_commit/rust/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/release/deps/libserde_derive-bf55f35e0f4b24b4.sot/... |
So in @jyn514 Could you please suggest what's the right way to assign the stamp path? And any other information would be much appreciated. |
Remove missing_tools config Fixes rust-lang#79249 Request to check if run_cargo function has been appropriately modified and what changes need to be made
A previous attempt at implementing this failed since Miri did not build on all tier 2 targets. The problematic targets are no longer tier 2 though, so it might be worth trying this again. |
…ur-ozkan Remove usage of deprecated `missing-tools` bootstrap flag This PR removes the usage of `--enable-missing-tools` in CI, as this config option is no longer used. It also removes `dist.missing-tools` config completely. Let me know which commits should I remove (if any). Fixes: rust-lang#79249 r? `@onur-ozkan`
The scope of this issue changed; see here for the current status.
Original issue description for historians:
config.toml lets you request tools be built, and it lets you ignore build failures with
dist.missing-tools = true
, but it doesn't let you specify that some packages must be built, while others are ok to miss.Ideally, it would support either an optional-tools array, or missing-tools could take an array of tools that are ok to miss, so that this nuance could be expressed.
This is a little niche, but I'm running into this while hooking up a "build rust from source" option in firefox's CI, where rustfmt is optional but nice-to-have for lints. Currently I think the best option is to using
missing-tools = true
and check the output for warnings about skipped tools in the dist step. This is a bit fragile though, so it would be nice if this was built in.@Mark-Simulacrum mentionned this would also be desirable for
miri
on stable/beta?The text was updated successfully, but these errors were encountered: