Skip to content
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

Temporarily disable CI for Windows with x64-mingw-ucrt #1207

Closed
wants to merge 2 commits into from

Conversation

andyw8
Copy link
Contributor

@andyw8 andyw8 commented Nov 22, 2023

Motivation

Recent changes in Bundler are causing the x64-mingw-ucrt platform to be removed, either when running running in Dependabot, or running bundle update --bundler locally. This breaks CI for Windows on Ruby 3.1 and newer.

Every Dependabot PR currently fails because of this, which is quite disruptive.

(I initially thought this was a Dependabot issue, so had opened dependabot/dependabot-core#8444).

I've tried various things to solve it, but wasn't able to yet yet. Since this a recent Bundler change, which will likely impact others too, I'm inclined to hold off doing more in case the behaviour gets reverted or altered. We can revisit this in a week or two.

Implementation

This PR disables CI for Windows where x64-mingw-ucrt is in use, and updates the Gemfile.lock as generated by bundle update --bundler.

Although disabling Windows does introduce some small risk, very little of Ruby LSP's behaviour is platform-dependent.

Automated Tests

n/a

Manual Tests

n/a

@andyw8 andyw8 requested a review from a team as a code owner November 22, 2023 21:38
Copy link
Member

@vinistock vinistock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is basically removing Windows entirely from CI. We can't do that or we risk getting into a replace where we push more Windows incompatible changes like we did in the past.

We should open an issue in rubygems asking if this is the new intended behaviour or a bug and ask for guidance on how to get CI passing.

@andyw8
Copy link
Contributor Author

andyw8 commented Dec 4, 2023

As per Slack discussion, rubygems/rubygems#7172 may solve this but until then we'll manually run and commit bundle lock --add-platform x64-mingw-ucrt for Dependabot PRs.

@andyw8 andyw8 closed this Dec 4, 2023
@martinemde
Copy link

martinemde commented Dec 12, 2023

Hey, just checking in. I see you having trouble with this and I could use help creating test cases.

If you could lock platforms that must stay available, what's the expected outcome? Would you use an optional group for the gems that won't work on windows?

Establishing expected behavior will help me get this in sooner.

Thank you!

P.S. look my first try at a test case at rubygems/rubygems#7195

@andyw8
Copy link
Contributor Author

andyw8 commented Dec 12, 2023

Hi @martinemde, thanks for taking a look.

The platforms we need are:

arm64-darwin
x64-mingw-ucrt
x64-mingw32
x86_64-darwin
x86_64-linux

Adding the non-Windows gems sorbet-static-and-runtime and tapioca to an optional group should be possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants