-
Notifications
You must be signed in to change notification settings - Fork 191
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
ci: check MSRV correctly #849
Conversation
Hi, it is intentional that we are using the nightly version for CI, as specified in iceberg-rust/rust-toolchain.toml Lines 19 to 20 in 21d9568
We use the nightly toolchain for formatting and linting with Clippy. For more context: #440 |
I know we want to use nighty for fmt and check. But we should use And we don't need to install both nighly and stable for them. |
@Xuanwo How should we proceed? Increase MSRV and fix build, or use nightly for build, which one do you prefer? |
We currently only have |
This is fine since it's the version we use to develop. |
As shown above, currently |
Oh, just noticed the compilation error is indeed in datafusion. |
Then I think we need to separate the integration's build/test from core library in CI |
This comment was marked as resolved.
This comment was marked as resolved.
Hi, do we truly need an additional tool for this? I assumed it would be as straightforward as |
MSRV check failed again for
|
I think we need It's the user's own responsibility if they have higher versions in (I wasn't opposed to checking |
It doesn't work 🤪
|
90fcc84
to
48f2dfd
Compare
I tried to re-generate Cargo.lock using latest MSRV-aware resolver rust-lang/cargo#14639 .
But it seems that it doesn't automatically find the best version for me. So I manually fixed some (mainly AWS crates) with BTW FYI that AWS SDK's MSRV is 1.81 https://github.com/awslabs/aws-sdk-rust?tab=readme-ov-file#supported-rust-versions-msrv |
rust-version = { workspace = true } | ||
rust-version = "1.81.0" |
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.
S3 tables is a quite new package, so we can't maintain a low MSRV.
cc @Xuanwo |
commit c51671f Author: xxchan <[email protected]> Date: Thu Dec 26 23:37:42 2024 +0800 try fix install msrv Signed-off-by: xxchan <[email protected]> commit 51d0cb2 Author: xxchan <[email protected]> Date: Thu Dec 26 23:33:50 2024 +0800 add separate msrv job; use nightly for default Signed-off-by: xxchan <[email protected]> commit 13f430a Author: xxchan <[email protected]> Date: Thu Dec 26 23:09:44 2024 +0800 fix Signed-off-by: xxchan <[email protected]> commit f2f8b3a Author: xxchan <[email protected]> Date: Thu Dec 26 22:48:56 2024 +0800 ci: use correct rust version Signed-off-by: xxchan <[email protected]>
…rate-lockfile Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
- downgrade faststr - downgrade aws crates to 1.39 Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
89ceb7b
to
83f2c04
Compare
Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
@Xuanwo I explored several ways to pin dependencies:
|
Signed-off-by: xxchan <[email protected]>
Really appreciate your work here! |
Oops, it still doesn't compile. I guess it's because some dependencies' failed to specify correct "min version" for their dependencies. @Xuanwo So which approach above do you prefer? If the current way looks good, I can try to fix compilation later. |
Current way looks really great to me. |
Signed-off-by: xxchan <[email protected]>
Signed-off-by: xxchan <[email protected]>
@Xuanwo CI is green now! |
Signed-off-by: xxchan <[email protected]>
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.
Perfect, thank you @xxchan for working this. Really nice!
Our current MSRV check in CI doesn't work at all. We only build with nightly, but didn't check it compiles with stable toolchain. (Actually it does not compile.)
This PR added the MSRV check in CI and fixed some compilation issues.
Update Cargo.lock to use dependencies with proper MSRV.Usegenerate-lockfile -Z minimal-versions
for MSRVMore background: #445 (comment)
rust-toolchain.toml
(nightly), and install toolchain withrust_msrv
in CI usingrustup default ${{ inputs.rust-version }}
rust-toolchain.toml
takes precedence overrustup default
. Therefore, we always use nightly, instead ofrust_msrv