Closed MSP-Greg closed 8 months ago
Thanks!
Changed input name to win-ruby-platform-override
. Also updated the comments in action.yml.
I updated the test added to test.yml. I originally used a PowerShell script, but that's unclear for many people. Changed to a ruby command, and checked it in my fork (see https://github.com/MSP-Greg/setup-ruby/actions/runs/7560951646)
Although I don't recall people using Windows self-hosted runners, they may prefer to use win-ruby-platform-override: none
if they have all 'build related files' pre-installed on their images...
I understand the functionality well know, thanks for your comments. The main thing left is finding a good name for this input.
Do you think the name windows-toolchain: default/none (and later adding mingw/ucrt/mswin if usefl) would make sense? i.e. is "toolchain" a meaningful term on Windows too and appropriate for this?
That's fine by me, could also be windows-toolchain-override
, which makes clear that it's changing something.
Which would you prefer, windows-toolchain
or windows-toolchain-override
?
EDIT:
Re using the word devkit
, that's always been about MSYS2 toolchains, some people might not even be aware of mswin
...
I understand the functionality well now, thanks for your comments.
Glad that helped. Apologies in advance for Windows explanations. I wrote plenty of code on MSFT DOS, sometimes my Windows explanations are too brief, sometimes too thorough...
Let's go with windows-toolchain
. I think the "override" part is implied by not using the input's default value.
Before I spin up a gazillion jobs, how's the below for action.yml
?
windows-toolchain:
description: |
This only affects Windows runners.
The default setting ('default') installs a toolchain based on the installed/activated Ruby.
This allows Windows platform setup to override the default toolchain setup.
At present, the only allowed setting is 'none', which only adds Ruby to PATH.
No build tools are installed, nor are any ENV setting changed to activate them.
default: 'default'
Sounds good. I'm thinking to take this opportunity to document a bit better what the default does:
windows-toolchain:
description: |
This input allows to override the default toolchain setup on Windows.
The default setting ('default') installs a toolchain based on the selected Ruby.
Specifically it installs MSYS2 if not already there and installs mingw/ucrt/mswin build tools.
It also sets environment variables using ridk if that's shipped with that Ruby.
At present, the only other setting than 'default' is 'none', which only adds Ruby to PATH.
No build tools are installed, nor are any ENV setting changed to activate them.
default: 'default'
It also sets environment variables using ridk if that's shipped with that Ruby.
Do you know when ridk is present, is it always there for RubyInstaller builds?
And so it's not there for mingw/ucrt/mswin
?
How about the following, I changed two things -
windows-toolchain:
description: |
This input allows to override the default toolchain setup on Windows.
The default setting ('default') installs a toolchain based on the selected Ruby.
Specifically, it installs MSYS2 if not already there and installs mingw/ucrt/mswin build tools and packages.
It also sets environment variables using 'ridk' or 'vcvars64.bat' based on the selected Ruby.
At present, the only other setting than 'default' is 'none', which only adds Ruby to PATH.
No build tools are installed, nor are any ENV setting changed to activate them.
default: 'default'
Thoughts? Note that it also uses an openssl package compatible with the selected Ruby.
Pushed the changes as above...
Adds a
windows-toolchain
input.none
. It installs the selected Ruby and adds it toPATH
. No build tools are installed/activated. Hence, no extension gems can be compiled/installed via bundler.Closes #562