-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
download-rustc=if-unchanged logic is too fragile #131658
Copy link
Copy link
Closed
Labels
A-bootstrap-configArea: bootstrap `config.toml` and the config systemArea: bootstrap `config.toml` and the config systemC-discussionCategory: Discussion or questions that doesn't represent real issues.Category: Discussion or questions that doesn't represent real issues.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Metadata
Metadata
Assignees
Labels
A-bootstrap-configArea: bootstrap `config.toml` and the config systemArea: bootstrap `config.toml` and the config systemC-discussionCategory: Discussion or questions that doesn't represent real issues.Category: Discussion or questions that doesn't represent real issues.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Type
Fields
Give feedbackNo fields configured for issues without a type.
See here, which was already the second time that the logic caused trouble in less than a week (first time was fixed here).
I don't think a list of "folders that can influence the build" is maintainable. At the very least it'd have to include
src/bootstrapsince that computes a ton of env vars and flags that influence the build.Judging from some of the comments that are hidden in the huge thread of #122709, one motivation here is to prepare for a planned bootstrap change where rustc is built with the beta
std. Is that the key motivation? Would be good to get that clarified.I would argue that the way to achieve this goal is to have an allowlist of "folders where changes are okay", not a denylist of "folders where changes lead to redowload". That allowlist would contain
library/once the bootstrap change is made. For now, it is not clear to me what we can add to the allowlist... maybesrc/docandsrc/tools?src/tools/build-helperdoes have the chance to influence the build, but it shouldn't contain any actual logic, so it's "probably fine".