-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Remove default config from bootstrap #145352
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 default config from bootstrap #145352
Conversation
This comment has been minimized.
This comment has been minimized.
e1f4e5c
to
9662ff8
Compare
This comment has been minimized.
This comment has been minimized.
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.
Heh, I had feedback for you, but I see that Clippy did it for me in one of the commits xD Let me know once it's ready and I'll check the changes locally, but in general looks great.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
a53f060
to
d22b2a4
Compare
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #145407) made this pull request unmergeable. Please resolve the merge conflicts. |
fdcd154
to
77c3d6e
Compare
This comment has been minimized.
This comment has been minimized.
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.
Let me know if it's ready for another round of review :)
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.
Great work! Left a bunch of comments.
In general, I'm not happy about DownloadContext
. Even with the macro I proposed, it's still too easy to use values before they are initialized, for example rust_info
is used in download context before it is initialized :( And that's just one thing I noticed, possibly there may be more.
Before we can remove more I/O from parse_inner
, I would suggest creating more granular versions of DownloadContext
. For example, download_beta_toolchain
requires exec_ctx
, stage0_metadata
, host_target
, out
, patch_binaries_for_nix
, bootstrap_cache_path
, llvm_assertions
and is_running_on_ci
, so approx. 50% of DownloadContext
. If we created a separate ctx for this function, we could reduce the likelihood of similar errors.
}; | ||
|
||
Config { | ||
change_id: toml.change_id.inner, |
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.
Could you please sort the fields in this constructor, and apply // tidy-alphabetical-start
+ // tidy-alphabetical-end
to make sure that they stay sorted? Currently some relates values are far from one another.
This comment has been minimized.
This comment has been minimized.
83d5b07
to
e261e25
Compare
This PR modifies If appropriate, please update |
Thank you! I really like how it looks like, good work on trimming down the download context. While reviewing, I added the tidy markers and sorted the Config fields and did a few small changes. I'll approve the PR if CI is green. |
@bors r+ rollup=iffy |
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing d20509c (parent) -> 46c219b (this PR) Test differencesShow 4 test diffs4 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 46c219bd24862c0a87f0299570bb37f2d5ecf6ce --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Finished benchmarking commit (46c219b): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (secondary 3.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 3.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 468.202s -> 465.73s (-0.53%) |
…lt-opts-method, r=Kobzol Remove default opts from config We forgot to remove this method in rust-lang#145352. This PR removes that. r? `@Kobzol`
…lt-opts-method, r=Kobzol Remove default opts from config We forgot to remove this method in rust-lang#145352. This PR removes that. r? ``@Kobzol``
…lt-opts-method, r=Kobzol Remove default opts from config We forgot to remove this method in rust-lang#145352. This PR removes that. r? ```@Kobzol```
This PR removes the default config initialization from parse_inner, as it introduced many assumptions during config setup. Instead, each variable is now manually initialized to eliminate certain invariants in parse_inner and streamline the process.
r? @Kobzol