-
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
Miscellaneous changes to rustbuild and CI. #51459
Conversation
Conservatively only disable LLVM for rust-installer. This should shave 5 minutes from the x86_64-gnu-distcheck job by not building LLVM twice.
This should greatly reduce the commits on the rust-toolstate repository. `publish_toolstate.py` defaults to keep the old status if a new one is not found, so nothing needs to be changed to that file.
Use `./x.py build src/librustc_codegen_llvm` to build the codegen backend.
(rust_highfive has picked a reviewer for you, use r? to override) |
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.
Otherwise looks good.
@@ -343,7 +350,7 @@ tool!( | |||
Compiletest, "src/tools/compiletest", "compiletest", Mode::ToolTest; | |||
BuildManifest, "src/tools/build-manifest", "build-manifest", Mode::ToolStd; | |||
RemoteTestClient, "src/tools/remote-test-client", "remote-test-client", Mode::ToolStd; | |||
RustInstaller, "src/tools/rust-installer", "fabricate", Mode::ToolStd; | |||
RustInstaller, "src/tools/rust-installer", "fabricate", Mode::ToolStd, llvm_tools = false; |
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.
What makes RustInstaller special? Can we add a comment?
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.
@Mark-Simulacrum Added a FIXME in ab5e3e6. The main reason is I've only verified RustInstaller can run without the LLVM binaries in $PATH (as the main purpose is to remove unnecessary work from distcheck).
@bors r+ I suspect that this is insufficient for much of a gain on CI, since we presumably are still building the llvm tools... unless I missed something. |
📌 Commit ab5e3e6 has been approved by |
Miscellaneous changes to rustbuild and CI. 1. Don't build LLVM when running rust-installer. 2. If toolstate is unchanged, don't push a commit to the toolstate repo. 3. Allow `./x.py build src/librustc_codegen_llvm` 4. Added log to track #50887.
The LLVM dependency was pulled in by the |
☀️ Test successful - status-appveyor, status-travis |
Do not build LLVM tools for any of the tools None of the tools in the list should need LLVM tools themselves as far as I can tell; if this is incorrect, we can re-enable the tool building later. The primary reason for doing this is that rust-central-station uses the BuildManifest tool and building LLVM there is not cached: it takes ~1.5 hours on the 2 core machine. This commit should make nightlies and stable releases much faster. Followup to #51459, r? @kennytm I'm mostly relying on CI to test this so probably don't roll it up; I'm not sure how to (and not particularly inclined to) wait for multiple hours to test this locally. I imagine that the failures should be fairly obvious when/if encountered.
./x.py build src/librustc_codegen_llvm
dist-x86_64-linux-alt
#50887.