-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Allow configuring where artifacts are downloaded from #97828
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
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.
A lot of this code is being changed significantly in my rustfmt PR (#97507) - I'd prefer to wait until that's merged.
☔ The latest upstream changes (presumably #97887) made this pull request unmergeable. Please resolve the merge conflicts. |
This commit allows users to change the contents of the "config" key in src/stage0.json without having it overridden the next time the bump-stage0 tool is executed.
Co-authored-by: bjorn3 <[email protected]>
1c571fb
to
754af72
Compare
Rebased on top of master! r? @jyn514 |
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.
Changes look good to me - I assume you've already tested this PR with your fork and made sure you can download the artifacts by changing only stage0.json? Testing that there aren't merge conflicts seems like overkill, but you'll have to edit stage0.json after this is merged anyway.
I can double-check on Monday (tested an old iteration of this PR). |
Just confirmed that yes, this works! Also pushed a small commit to move |
Missed that this was waiting on me, sorry - this lgtm :) @bors r+ |
📌 Commit d3b1532 has been approved by |
Rollup of 5 pull requests Successful merges: - rust-lang#97803 (Impl Termination for Infallible and then make the Result impls of Termination more generic) - rust-lang#97828 (Allow configuring where artifacts are downloaded from) - rust-lang#98150 (Emscripten target: replace -g4 with -g, and -g3 with --profiling-funcs) - rust-lang#98195 (Fix rustdoc json primitive handling) - rust-lang#98205 (Remove a possible unnecessary assignment) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Bootstrap has support for downloading prebuilt LLVM and rustc artifacts to speed up local builds, but that currently works only for users working on
rust-lang/rust
. Forks of the repository (for example Ferrocene) might have different URLs to download artifacts from, or might use a different email address on merge commits, breaking both LLVM and rustc artifact downloads.This PR refactors bootstrap to load the download URLs and other constants from
src/stage0.json
, allowing downstream forks to tweak those values. It also future-proofs the download code to easily allow forks to add their own custom protocols (likes3://
).This PR is best reviewed commit-by-commit.