-
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
rustbuild: Disable docs on cross-compiled builds #49187
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
@rust-highfive: 🔑 Insufficient privileges: Not in reviewers |
@rust-highfive: 🔑 Insufficient privileges: not in try users |
cc @rust-lang/infra, curious to hear y'all's thoughts on this change at a high level, and otherwise r? @kennytm |
Sorry, just testing one thing with this message, ignore it. |
@pietroalbini: 🔑 Insufficient privileges: Not in reviewers |
Sorry, another test message. This time with two paragraphs. |
@pietroalbini: 🔑 Insufficient privileges: Not in reviewers |
Test message. |
|
To clarify, this is std/test docs, correct? If I as a user care about these, what do I need to do to obtain documentation for my platform? I suppose I could clone rust-lang/rust and run something like
Do we still build and distribute rustdoc for these targets? I feel like we shouldn't stop doing that.
Do we know why the book and reference take so long? They feel much smaller than the standard library. Is there something non-standard that we're doing that could be sped up (for wins across the board, not just on these builders). Overall I think I'm fine with this, especially if we make sure that these users can still properly obtain docs via rustup, even if those docs don't quite match their platform. It'd be great if we can figure out a way to cross-compile docs quickly and easily in the future but for now I think this is "good enough." |
src/bootstrap/compile.rs
Outdated
@@ -486,7 +488,8 @@ impl Step for Rustc { | |||
println!("Building stage{} compiler artifacts ({} -> {})", | |||
compiler.stage, &compiler.host, target); | |||
|
|||
let stage_out = builder.stage_out(compiler, Mode::Librustc); | |||
let stage_out = builder.stage_out(compiler, Mode::Librustc) |
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.
hm, instead of joining on target we probably want to call cargo_out
here instead. Does that seem reasonable?
Is it removing doc tests or just doc build? Because I think it's quite important to keep doc tests. |
I'd love to eventually live in a universe where we don't generate docs at all, but instead, let people just generate them locally per-platform. This would go along with " In the meantime, I think it's fine to not ship these docs, but I'm also not a heavy user of these platforms, so I am not exactly the target audience. |
I think so yeah, if it really is that cheap then it's probably fine to keep running.
Sounds like not a bad idea!
Correct! And yes it can always be regenerated locally if desired.
Correct yeah, we just don't build rustbook/rustdoc for the host
I think it's beause at this point there's hundreds of pages to render and spawning that many process/processing all that markdown takes awhile. (plus I think basically 0 of it is platform specific)
Just the doc build on cross-compiled builders |
339eda9
to
1f4f68f
Compare
This sounds good to me then. We should probably notify/ask users on internals or users to make sure that no one is actually depending on these existing, and also verify with @onur (?) that docs.rs won't break (I don't expect it to, though). |
Were the cross-compiled builders running doctests to begin with? Those still need a rustdoc build. There's some part of me that's wary about not building/shipping docs for these targets, but if there's nothing platform-specific about the docs that would get built there (for example |
@QuietMisdreavus Those are dist builders which won't run any tests, yes. Not generating docs should allow us to skip building the stage2-host rustdoc I think? It will still build the stage2-cross-compiled rustdoc build because we need to ship rustdoc 😄 |
@Mark-Simulacrum this doesn't affect docs.rs. |
I assume everyone is fine with landing this. @bors r+ |
📌 Commit 1f4f68f has been approved by |
1f4f68f
to
d150d33
Compare
@bors: r=kennytm |
📌 Commit d150d33 has been approved by |
⌛ Testing commit d150d33d2612d002345f719b096ea481d93d3343 with merge 3ee28d5d2230f42d20e6a5704772b3fccc43166d... |
💔 Test failed - status-travis |
This commit disables building documentation on cross-compiled compilers, for example ARM/MIPS/PowerPC/etc. Currently I believe we're not getting much use out of these documentation artifacts and they often take 10-15 minutes total to build as it requires building rustdoc/rustbook and then also generating all the documentation, especially for the reference and the book itself. In an effort to cut down on the amount of work that we're doing on dist CI builders in light of recent timeouts this was some relatively low hanging fruit to cut which in theory won't have much impact on the ecosystem in the hopes that the documentation isn't used too heavily anyway. While initial analysis in rust-lang#48827 showed only shaving 5 minutes off local builds the same 5 minute conclusion was drawn from rust-lang#48826 which ended up having nearly a half-hour impact on the bots. In that sense I'm hoping that we can land this and test out what happens on CI to see how it affects timing. Note that all tier 1 platforms, Windows, Mac, and Linux, will continue to generate documentation.
d150d33
to
bd28641
Compare
@bors: r=kennytm |
📌 Commit bd28641 has been approved by |
rustbuild: Disable docs on cross-compiled builds This commit disables building documentation on cross-compiled compilers, for example ARM/MIPS/PowerPC/etc. Currently I believe we're not getting much use out of these documentation artifacts and they often take 10-15 minutes total to build as it requires building rustdoc/rustbook and then also generating all the documentation, especially for the reference and the book itself. In an effort to cut down on the amount of work that we're doing on dist CI builders in light of recent timeouts this was some relatively low hanging fruit to cut which in theory won't have much impact on the ecosystem in the hopes that the documentation isn't used too heavily anyway. While initial analysis in rust-lang#48827 showed only shaving 5 minutes off local builds the same 5 minute conclusion was drawn from rust-lang#48826 which ended up having nearly a half-hour impact on the bots. In that sense I'm hoping that we can land this and test out what happens on CI to see how it affects timing. Note that all tier 1 platforms, Windows, Mac, and Linux, will continue to generate documentation.
rustbuild: Disable docs on cross-compiled builds This commit disables building documentation on cross-compiled compilers, for example ARM/MIPS/PowerPC/etc. Currently I believe we're not getting much use out of these documentation artifacts and they often take 10-15 minutes total to build as it requires building rustdoc/rustbook and then also generating all the documentation, especially for the reference and the book itself. In an effort to cut down on the amount of work that we're doing on dist CI builders in light of recent timeouts this was some relatively low hanging fruit to cut which in theory won't have much impact on the ecosystem in the hopes that the documentation isn't used too heavily anyway. While initial analysis in rust-lang#48827 showed only shaving 5 minutes off local builds the same 5 minute conclusion was drawn from rust-lang#48826 which ended up having nearly a half-hour impact on the bots. In that sense I'm hoping that we can land this and test out what happens on CI to see how it affects timing. Note that all tier 1 platforms, Windows, Mac, and Linux, will continue to generate documentation.
This breaks
|
@bdrewery Ah sorry for that. Would you mind filing an issue so it could be properly tracked? |
Moved to #49462 |
This commit disables building documentation on cross-compiled compilers, for
example ARM/MIPS/PowerPC/etc. Currently I believe we're not getting much use out
of these documentation artifacts and they often take 10-15 minutes total to
build as it requires building rustdoc/rustbook and then also generating all the
documentation, especially for the reference and the book itself.
In an effort to cut down on the amount of work that we're doing on dist CI
builders in light of recent timeouts this was some relatively low hanging fruit
to cut which in theory won't have much impact on the ecosystem in the hopes that
the documentation isn't used too heavily anyway.
While initial analysis in #48827 showed only shaving 5 minutes off local builds
the same 5 minute conclusion was drawn from #48826 which ended up having nearly
a half-hour impact on the bots. In that sense I'm hoping that we can land this
and test out what happens on CI to see how it affects timing.
Note that all tier 1 platforms, Windows, Mac, and Linux, will continue to
generate documentation.