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.
This PR include a few changes for windows:
$RUNNER_TEMP\$base
and a junction link is created at original$rubyPrefix
.$RUNNER_TEMP\msys64
and a junction link is created at$rubyPrefix\msys64
.ridk enable
step by using proper serialization.Performance
Run to run improvement varies a lot due to different sizes of packages and the unstable performance of the slow disk.
However, in general this saves anywhere from 20s to 60s per run. Example of a performance improvement from 63.43s to 27.15s - or 36.38s in saving:
https://github.com/ruby/setup-ruby/actions/runs/14772696897/job/41475457782
https://github.com/ntkme/setup-ruby/actions/runs/14823150160/job/41612838924
Note regarding why use
$rubyPrefix\msys64
:ENV["MSYS2_PATH"]
have highest priority, but it's only supported on ruby >=3.0.7: oneclick/rubyinstaller2@a4590dd$rubyPrefix\msys64
has the second highest priority, and it's supported by ruby >=2.4.1: oneclick/rubyinstaller2@21a416f>=2.4.1
means$rubyPrefix\msys64
is supported by all currently available ruby installer versions that's linked with msys2, and it has higher priority thanC:\msys64
so that we don’t need to touch the preinstalledC:\msys64
at all.