-
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
extend the "if-unchanged" logic for compiler builds #131831
extend the "if-unchanged" logic for compiler builds #131831
Conversation
rustbot has assigned @Mark-Simulacrum. Use |
This PR modifies If appropriate, please update |
/// Holds subpaths from [`RUSTC_IF_UNCHANGED_ALLOWED_PATHS`] that should not be allowed. | ||
pub(crate) const RUSTC_IF_UNCHANGED_DENIED_SUBPATHS: &[&str] = &[ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't want to have this list, but without it, it will be extremely hard to manage RUSTC_IF_UNCHANGED_ALLOWED_PATHS
since there will be hundreds of paths 🙁.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it really doesn't matter if there are a few more rebuilds than necessary. I'd remove this list here and significantly reduce the list above. I think I'd be fine if it only contained library.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we have to maintain a list of paths, making it simple and obvious and handle the most important cases seems way more important than making it granular and perfect.
Would it make sense to compute the set of files that may not be changed for download-rustc to work based on the |
":!CODE_OF_CONDUCT.md", | ||
":!CONTRIBUTING.md", | ||
":!COPYRIGHT", | ||
":!Cargo.lock", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is wrong
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if the dependencies of the compiler are updated, the compiler needs to be rebuilt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I didn't consider (but I should) the small bumps that can happen without changing Cargo.toml files in compiler and library tree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, there are so many things to consider or to not consider here that I think it makes the most sense to be super simple and only special case library as not rebuilding. in case anyone complains we can add more as needed
@rustbot author |
2468461
to
135b903
Compare
135b903
to
6e6625b
Compare
We are comparing against the nightly compiler, "stage0-rustc" wouldn't help. |
☔ The latest upstream changes (presumably #131934) made this pull request unmergeable. Please resolve the merge conflicts. |
6e6625b
to
a140442
Compare
Nevermind, allowed |
31eaf3b
to
7ccca59
Compare
☔ The latest upstream changes (presumably #132070) made this pull request unmergeable. Please resolve the merge conflicts. |
7ccca59
to
b115071
Compare
☔ The latest upstream changes (presumably #132215) made this pull request unmergeable. Please resolve the merge conflicts. |
b115071
to
7352257
Compare
☔ The latest upstream changes (presumably #132371) made this pull request unmergeable. Please resolve the merge conflicts. |
bbb7e28
to
8c01563
Compare
I guess What about PR CIs btw? I think CI rustc brings some serious advantage on that. |
This comment has been minimized.
This comment has been minimized.
8c01563
to
c104f3a
Compare
This comment has been minimized.
This comment has been minimized.
ef77e4d
to
f87fc33
Compare
This comment has been minimized.
This comment has been minimized.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
This reverts commit b3c2121.
f87fc33
to
4dfc052
Compare
Do you have any other concerns on this PR? @RalfJung |
Signed-off-by: onur-ozkan <work@onurozkan.dev>
This PR modifies If appropriate, please update |
…ozkan do not trust download-rustc=if-unchanged on CI for now See rust-lang#131658. Once rust-lang#131831 lands this will be unnecessary, for until then, better safe than sorry. r? `@onur-ozkan` Cc `@rust-lang/bootstrap`
I haven't dug into the logic here, so my concerns were entirely about the list of folders that considered "not affecting the compiler". That one has been resolved. |
@bors r=Mark-Simulacrum |
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#131831 (extend the "if-unchanged" logic for compiler builds) - rust-lang#132541 (Proper support for cross-crate recursive const stability checks) - rust-lang#132657 (AIX: add run-make support) - rust-lang#132901 (Warn about invalid `mir-enable-passes` pass names) - rust-lang#132923 (Triagebot: Consolidate the T-compiler ad hoc assignment groups) - rust-lang#132938 (Make precise capturing suggestion machine-applicable only if it has no APITs) - rust-lang#132947 (clarify `must_produce_diag` ICE for debugging) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#131831 - onur-ozkan:improve-rustc-if-unchanged-logic, r=Mark-Simulacrum extend the "if-unchanged" logic for compiler builds Implements the first item from [this tracking issue](rust-lang#131744). In short, we want to make "if-unchanged" logic to check for changes outside of certain allowed directories, and this PR implements that. See rust-lang#131658 for more context.
Implements the first item from this tracking issue.
In short, we want to make "if-unchanged" logic to check for changes outside of certain allowed directories, and this PR implements that.
See #131658 for more context.