-
Couldn't load subscription status.
- Fork 13.9k
Closed
Labels
A-contributor-roadblockArea: Makes things more difficult for new or seasoned contributors to RustArea: Makes things more difficult for new or seasoned contributors to RustA-download-rustcArea: The `rust.download-rustc` build option.Area: The `rust.download-rustc` build option.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-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)
Description
These are all the features for download-rustc that didn't land in the initial MVP (#79540).
Required before this is made a default
- Download a separate beta compiler for stage0 and only use CI artifacts for stage1 onward. Right now, every time you rebase, stage0 tools (bootstrap, tidy, ...) will have to be recompiled. Additionally running
x.py setup toolswill compile rustbuild twice. Allow building rustdoc without first building rustc (MVP) #79540 (comment), Use the beta compiler for building bootstrap tools whendownload-rustcis set #82739 - Compile a new version of tracing so that rustdoc still gets debug logging (since CI artifacts always disable
debugandtracelogging). Always compile rustdoc with debug logging enabled whendownload-rustcis set #81932 - Right now only rustdoc is ever rebuilt. This is not ideal and should probably at least compile compiler tools (rustfmt, clippy, miri). Allow building rustdoc without first building rustc (MVP) #79540 (comment), Remove
ENABLE_DOWNLOAD_RUSTCconstant #82480 - Using
git log --author=borssometimes breaks. This should usegit merge-baseinstead, or use some other workaround that doesn't break. Allow building rustdoc without first building rustc (MVP) #79540 (comment), Fix commit detected when usingdownload-rustc#82740 - This breaks during release week (but only release week). Download a more recent LLVM version if
src/versionis modified #83350
Nice to have
- Add
download-rustc = "if-unchanged"which rebuilds rustc instead of warning whencompiler/has been modified. Follow-up work fordownload-rustc#81930 (comment), Adddownload-rustc = "if-unchanged"#83368 -
x.py check --stage 0doesn't work. Follow-up work fordownload-rustc#81930 (comment), Use the beta compiler for building bootstrap tools whendownload-rustcis set #82739 -
x.py check --stage 1 src/tools/rustdocdoesn't work. Follow-up work fordownload-rustc#81930 (comment), fixed in Fixx check --stage 1when download-rustc is enabled #110121 - Add
x.py setup toolsto enable this conveniently (it doesn't make sense to use this for compiler developers). This shouldn't be added until people have used this feature for a little bit and it works reasonably well. Addx.py setup toolswhich enablesdownload-rustcby default #83370 - Enable verification for the commit tarballs. This requires first signing nightly commits; right now the .sha256 URLs gave a 404. This seems fairly simple to fix but also not high priority.
- Give a better error message when rebasing an old branch (I think commits are kept at most 160 days?). Allow building rustdoc without first building rustc (MVP) #79540 (comment)
- It would be nice to support cross-compiling the standard library - fixed in Fix
x test ui --target foowhen download-rustc is enabled #110113 - Some tests fail when download-rustc is enabled: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AA-testsuite+label%3AA-download-rustc
CombineThis doesn't seem useful.download-rustcanddownload-ci-llvminto the same option. This needs quite a bit more design work. Allow building rustdoc without first building rustc (MVP) #79540 (comment), Unifydownload-*settings in config.toml #83369
weihanglo
Metadata
Metadata
Assignees
Labels
A-contributor-roadblockArea: Makes things more difficult for new or seasoned contributors to RustArea: Makes things more difficult for new or seasoned contributors to RustA-download-rustcArea: The `rust.download-rustc` build option.Area: The `rust.download-rustc` build option.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-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)