Specify rust toolchain explicitly, document how to change it#14655
Merged
alamb merged 2 commits intoapache:mainfrom Feb 18, 2025
Merged
Specify rust toolchain explicitly, document how to change it#14655alamb merged 2 commits intoapache:mainfrom
alamb merged 2 commits intoapache:mainfrom
Conversation
findepi
reviewed
Feb 13, 2025
Comment on lines
+22
to
+26
| ## How to update the version of Rust used in CI tests | ||
|
|
||
| - Make a PR to update the [rust-toolchain] file in the root of the repository: | ||
|
|
||
| [rust-toolchain]: https://github.com/apache/datafusion/blob/main/rust-toolchain.toml |
Member
There was a problem hiding this comment.
Does this apply to CI only, or is rust-toolchain read by cargo too?
Contributor
Author
There was a problem hiding this comment.
I think it applies by default if you just run cargo locally if that is what you are asking
So unless someone overrides the setting by default local development environments would use the toolchain version specified by this file
findepi
approved these changes
Feb 13, 2025
mbrobbel
approved these changes
Feb 14, 2025
Contributor
Author
|
I plan to merge this PR over the next day or two unless there are any additional comments |
xudong963
approved these changes
Feb 17, 2025
Contributor
Author
|
Let's give it a try |
Contributor
Author
|
Thanks everyone for the reviews |
Member
|
Now cargo will auto-update my local toolchain. very cool! |
This was referenced Mar 3, 2025
wiedld
pushed a commit
to influxdata/arrow-datafusion
that referenced
this pull request
May 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Rationale for this change
Currently DataFusion's CI runs with whatever the most recent release is. This ensures DataFusion always works with the latest rust release but causes some non trival churn:
Magically broken Releases
Currently whenever a new rust version is released we often scramble to fix the CI (for new clippy lints for example).
Some recent examples
Old releases don't pass CI cleanly
As @findepi observes on #14479, always using the most recent Rust release means that older releases no longer cleanly pass CI tests
What changes are included in this PR?
We can solve this by specifying a specific version of Rust using
rust-toolchain.tomlhttps://rust-lang.github.io/rustup/overrides.html
We use this in influxdb_iox and it works well for avoiding surprise brekages
The downside is that to use a newer version of rust with DataFusion will require a PR to update the config file
Changes:
rust-toolchain.tomlfileAre these changes tested?
by CI
(testing)
Are there any user-facing changes?
Hopefully a more controlled experience