Fix incorrect materialization on Windows #5975
Merged
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.
What was the end-user or developer problem that led to this PR?
I did some cleanups recently to avoid unnecessary sorting and speed things up at #5868. But one change in particular caused issues on Windows.
What is your fix for the problem, implemented in this PR?
I identified this code here: https://github.com/rubygems/rubygems/blob/629e08d34d14f60fe3398e40fc72f4f171ffc582/bundler/lib/bundler/lazy_specification.rb#L82-L84 was relying on the index search returning a particular order.
I think we'll probably need to revert that commit but I also found that this code should not be being hit by default on Windows, since it's only a fallback for backwards compatibility with lockfiles using
rubyorjavaas their main platform, and that's not the case on Windows.This commit fixes that latter issue and adds a realworld CI test that installs Rails and generates a dummy application on Windows, to hopefully avoid this kind of widespread issues on Windows in the future.
Fixes #5970.
Make sure the following tasks are checked