Skip to content

Conversation

@IceSentry
Copy link
Contributor

@IceSentry IceSentry commented Dec 5, 2025

Objective

  • When bisecting a bug we end up using older versions of bevy that don't always compile with the most recent compiler
  • We use cutting edge features and not everyone has the latest compiler version installed and they end up seeing errors that might not be easy to understand

Solution

  • Add a rust-toolchain file to document which compiler version is used for the current state of the repo
  • This way when using git bisect we don't have to guess at which compiler version we should be using
  • This means we will have to make a new PR to update the file every time there's a new rust version or at least every time we use a feature from a newer rust version
  • Unfortunately, this caused a few issues with CI so I had to add rustup override steps to a few of the CI actions that were expecting a specific rust version or component. This way CI essentially doesn't have to care about the toolchain file.

Testing

  • I tested a local build and it used the expected compiler version

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

You added a new example but didn't add metadata for it. Please update the root Cargo.toml file.

@james7132 james7132 requested a review from mockersf December 7, 2025 23:18
@mockersf
Copy link
Member

mockersf commented Dec 7, 2025

@IceSentry IceSentry added A-Build-System Related to build systems or continuous integration C-Usability A targeted quality-of-life change that makes Bevy easier to use D-Modest A "normal" level of difficulty; suitable for simple features or challenging fixes S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Dec 9, 2025
@IceSentry
Copy link
Contributor Author

I added a daily dependabot job for the rust-toolchain. Not sure if that's the best schedule. I wouldn't be surprised if a human will always end up doing it first since a rust release is hard to miss for anyone that tracks them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Build-System Related to build systems or continuous integration C-Usability A targeted quality-of-life change that makes Bevy easier to use D-Modest A "normal" level of difficulty; suitable for simple features or challenging fixes S-Needs-Review Needs reviewer attention (from anyone!) to move forward

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants