Closed cfis closed 8 months ago
Sorry, a little confused.
In GitHub Actions, 'windows-latest' refers to the OS image that is used, see https://github.com/actions/runner-images?tab=readme-ov-file#available-images
The Ruby version that is used is defined by the ruby-version
input of setup-ruby.
Where exactly are you seeing a reference to Ruby 3.0.6? The link is to the 'summary view' of the "tests (windows-latest, mswin)" job, which seems to be using Ruby 3.4.0, built from Ruby master branch..
JFYI, this repo builds and tests Windows ruby head builds, and if all tests pass, the builds are stored in a release. They can be downloaded for local use, and they are also downloaded by the ruby/setup-ruby action.
So, the actual Ruby version selection is done by the ruby/setup-ruby action.
Ok, I think I'm incorrect. I saw this in the log:
Entries removed from Path to avoid conflicts with default Ruby:
C:\hostedtoolcache\windows\Ruby\3.0.6\x64\bin
But then later in the log:
Print Ruby version
D:\ruby-mswin\bin\ruby.exe --version
ruby 3.4.0dev (2024-01-07T00:24:34Z master e4a9a73931) [x64-mswin64_140]
Took 0.12 seconds
So I'll close this ticket.
One other sort of related question, is there a way to specify a matrix with msvc builds and ruby versions? So I could say run tests on an msvc build using ruby 3.0, 3.1, etc. So the same as MacOS or the mingw windows build?
@cfis
No problem.
Re C:\hostedtoolcache\windows\Ruby\3.0.6\x64\bin
, that's the Ruby that GitHub includes as the default on Windows images. They include 2.7.8, 3.0.6, and 3.1.4. They obviously aren't updated often, and they seem to assume everyone is using setup-ruby
, which is probably valid. Note that setup-ruby
will use the pre-installed Ruby versions.
is there a way to specify a matrix with msvc builds and ruby versions?
At present, no. The only msvc/mswin build available with setup-ruby
is the head build (aka mswin
) created here. All current Windows Ruby releases are either MSYS2 MINGW64 or UCRT64.
Also, we'd have to update setup-ruby
with some special syntax for it, like ms3.3
is mswin, and 3.3
for UCRT64...
I've debated whether to build release mswin versions, but there aren't a lot of people asking for them. I have been building the head builds here for several years, so assuming none of the backports are bad, they should continue to work. The ruby/ruby CI tests commits on all active release branches with msvc/mswin.
Cool - thanks for the explanation! Not a big deal on mswin builds, kind of figured
I noticed when running tests for ruby-prof with windows-latest it is pulling Ruby 3.0.6. See log here:
https://github.com/ruby-prof/ruby-prof/actions/runs/7437121871/job/20234393952
Would it be possible to update it to the actual latest ruby, 3.3.0, so it matches its name?