-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Use lld for rustdoc on Linux in config_fast_builds.toml #14839
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
Use lld for rustdoc on Linux in config_fast_builds.toml #14839
Conversation
Welcome, new contributor! Please make sure you've read our contributing guide and we look forward to reviewing your pull request shortly ✨ |
This is why my system crashed! I just figured I didn't have the specs to test Bevy locally. I'm going to test & review this ASAP. Thank you for working to fix this. |
I completely missed that I need to add the config.toml myself, I guess. I'll test this, properly this time, in the morning. |
.cargo/config_fast_builds.toml
Outdated
# Some systems may experience linker performance issues when running doc tests. | ||
# See https://github.com/bevyengine/bevy/issues/12207 for details. |
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.
I don't think this is the right place for this comment. From how I read it, it looks like you're commenting on the alias and not rustdoc
itself. I would either move it to where you specify rustdocflags
, or remove it entirely.
@@ -83,12 +83,19 @@ rustflags = [ | |||
# - Ubuntu: `sudo apt-get install mold clang` | |||
# - Fedora: `sudo dnf install mold clang` | |||
# - Arch: `sudo pacman -S mold clang` | |||
# "-Clink-arg=-fuse-ld=/usr/bin/mold", |
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.
Good catch! When I wrote this I didn't realize /usr/bin
was automatically in the PATH
.
@@ -423,7 +423,7 @@ If you're new to Bevy, here's the workflow we use: | |||
2. Make your changes in a local clone of your fork, typically in its own new branch. | |||
1. Try to split your work into separate commits, each with a distinct purpose. Be particularly mindful of this when responding to reviews so it's easy to see what's changed. | |||
2. Tip: [You can set up a global `.gitignore` file](https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files#configuring-ignored-files-for-all-repositories-on-your-computer) to exclude your operating system/text editor's special/temporary files. (e.g. `.DS_Store`, `thumbs.db`, `*~`, `*.swp` or `*.swo`) This allows us to keep the `.gitignore` file in the repo uncluttered. | |||
3. To test CI validations locally, run the `cargo run -p ci` command. This will run most checks that happen in CI, but can take some time. You can also run sub-commands to iterate faster depending on what you're contributing: | |||
3. To test CI validations locally, run the `cargo run -p ci` command. This will run most checks that happen in CI, but can take some time. Some systems may experience [linker performance issues when running doc tests](https://github.com/bevyengine/bevy/issues/12207). You can also run sub-commands to iterate faster depending on what you're contributing: |
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.
We're slowly moving information from here to the Contributing Guide. I'm fine with this being added for now, but once bevyengine/bevy-website#1605 is merged we should copy this information over.
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.
Worth noting this may be fixed if rust-lld makes it into 1.82/rust 2024; this issue no longer occurs on nightly.
If you still run out of memory after switching your linker, you may also need to throttle the test threads e.g. Edit: |
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.
Okay, tested properly and it works 🎉 . Once the website's Contributing Guide is published, I'll get this mention moved ASAP since I feel this is pretty core to being able to properly contribute for some people (like me).
Can you remake the advice parts of this PR on the bevy-website repo? The contributing book is live now, and I'd like to get this in. |
Objective
Running
cargo ci
on Fedora 40 causes a system crash due to manyld
processes consuming all available memory when performing doc tests.Solution
This PR extends #13553.
CONTRIBUTING.md
andconfig_fast_builds.toml
.rustdocflags
configurations forlld
andmold
toconfig_fast_builds.toml
for Linux.Testing
Crashing configuration
cargo ci
Working configuration
cargo ci