Closed
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 tools
will compile rustbuild twice. Allow building rustdoc without first building rustc (MVP) #79540 (comment), Use the beta compiler for building bootstrap tools whendownload-rustc
is set #82739 - Compile a new version of tracing so that rustdoc still gets debug logging (since CI artifacts always disable
debug
andtrace
logging). Always compile rustdoc with debug logging enabled whendownload-rustc
is 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_RUSTC
constant #82480 - Using
git log --author=bors
sometimes breaks. This should usegit merge-base
instead, 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/version
is 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 0
doesn't work. Follow-up work fordownload-rustc
#81930 (comment), Use the beta compiler for building bootstrap tools whendownload-rustc
is set #82739 -
x.py check --stage 1 src/tools/rustdoc
doesn't work. Follow-up work fordownload-rustc
#81930 (comment), fixed in Fixx check --stage 1
when download-rustc is enabled #110121 - Add
x.py setup tools
to 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 tools
which enablesdownload-rustc
by 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 foo
when 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-rustc
anddownload-ci-llvm
into 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