-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
bump msrv to 1.63 #5570
bump msrv to 1.63 #5570
Conversation
There is only one related TODO in the codebase (in |
@@ -1,3 +1,3 @@ | |||
[toolchain] | |||
channel = "1.61.0" | |||
channel = "1.63.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.
I think this file doesn't end up being used since we switched to dtolnay/rust-toolchain. This can probably be removed now
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.
Ah actually it looks like we don't use stable rust for the stable CI check: msrv and stable checks are running the exact same thing. In the check
job, we could use matrix: [stable, 1.63]
and then:
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
to replace the helix-editor/toolchain
action.
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 am not sure we actually want to have a stable build.
Whenever a new rust version releases you get new clippy lints which means that PR piplines could just randomly start failing. This is especially problematic as clippy often inrdocues new lints which can only be fixed with new language features (example then_some
).
It would also be annoying development wise because the rust_toolchain file ist pinned to the MSRV
so we only know about clippy lints once the CI fails. I think it honestly makes more sense to only run CI on MSRV
.
Rust breaking backwars incomptatbility is rare enough that we don't need to worry about it and I would rather fix new clippy lints when the MSRV is bumped like in this PR so I don't see much value in running a stable CI. This would also speedup CI times which is not super important but a nice bonus
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.
Ah good point, I agree. I can't find the history for it but if I remember correctly, we pinned to 1.61 because we had a bunch of CI failures from a new rust version release being used automatically that ❌'d a bunch of open PR's CI aa87adf. I would be in favor of just removing the "stable" branch from CI
One thing to note is that I'm unable to build helix on windows with a rust toolchain lower than This is due to the depenency on the
|
That is unfortunate. Probably just another MSRV bump on a minor release. Using Firefox will raise it's MSRV to 1.65 in mid feburary so this Problem should also not exist for long. |
2e38d67
to
b34f218
Compare
I have changed the CI so it only runs on MSRV (the same behaviour as before but we now only have one check). However github still expects the old checks so the CI can not succed for this PR. I am not sure where to change that (or maybe it changes automatically once this PR is merged into master?). |
We'll need @archseer to adjust that: there are branch protection rules in the settings that will need to be updated. This will be a sort of breaking change for the CI runs for each PR: each PR will need to be rebased on this to satisfy the new check requirements. I wonder if we can side-step that by renaming the new "Check" job as "Check (msrv)"? Then we could just remove the "Check (stable)" from the required passing checks and no PRs would need to be rebased. I'm not sure if it's based on the naming like that though |
That is something I didn't think about. I am not sure how to solve this. It would be neat to remove the duplicate CI run but it's not big deal and probably not worth breaking PRs over. What do you think @archseer? |
Hah, it works! https://github.com/the-mikedavis/ghactionstest/pull/2 I guess it must be naming-based internally. I suppose that makes sense since they're reading the workflows out of the yaml so it would be hard to have a recognizable workflow ID |
Thanks for testing this! I have updated the PR accordingly. @archseer still needs to remove the |
Firefox 109 was released with a MSRV of 1.63.
In accordance with the MSRV policy this PR bumps the MSRV to 1.63.
Fixes #1557
Fixes #5432