Compare commits

...
15 Commits
7 changed files with 32 additions and 17 deletions
+10 -10
View File
@@ -15,10 +15,10 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
| Interpreter | Versions |
| ----------- | -------- |
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 4.0.2, head, debug, mingw, mswin, ucrt |
| `jruby` | 9.1.17.0 - 10.0.4.0, head |
| `truffleruby` | 19.3.0 - 33.0.1, head |
| `truffleruby+graalvm` | 21.2.0 - 33.0.1, head |
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 4.0.4, head, debug, mingw, mswin, ucrt |
| `jruby` | 9.1.17.0 - 10.1.0.0, head |
| `truffleruby` | 19.3.0 - 34.0.1, head |
| `truffleruby+graalvm` | 21.2.0 - 34.0.1, head |
`ruby-debug` is the same as `ruby-head` but with assertions enabled (`-DRUBY_DEBUG=1`).
@@ -79,7 +79,7 @@ jobs:
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4' # Not needed with a .ruby-version, .tool-versions or mise.toml
ruby-version: '4.0' # Not needed with a .ruby-version, .tool-versions or mise.toml
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- run: bundle exec rake
```
@@ -98,7 +98,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest]
# Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4', head, jruby, jruby-head, truffleruby, truffleruby-head]
ruby: ['3.3', '3.4', '4.0', head, jruby, jruby-head, truffleruby, truffleruby-head]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
@@ -127,14 +127,14 @@ jobs:
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4'
ruby-version: '4.0'
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- run: bundle exec rake
```
See the GitHub Actions documentation for more details about the
[workflow syntax](https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions)
and the [condition and expression syntax](https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions).
[workflow syntax](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax)
and the [condition and expression syntax](https://docs.github.com/en/actions/reference/workflows-and-actions/contexts).
### Supported Version Syntax
@@ -252,7 +252,7 @@ Note that running CI on Windows can be quite challenging if you are not very fam
It is recommended to first get your build working on Ubuntu and macOS before trying Windows.
* Use Bundler 2.2.18+ on Windows (older versions have [bugs](https://github.com/ruby/setup-ruby/issues/209#issuecomment-889064123)) by not setting the `bundler:` input and ensuring there is no `BUNDLED WITH 1.x.y` in a checked-in `Gemfile.lock`.
* The default shell on Windows is not Bash but [PowerShell](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#using-a-specific-shell).
* The default shell on Windows is not Bash but [PowerShell](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#using-a-specific-shell).
This can lead issues such as multi-line scripts [not working as expected](https://github.com/ruby/setup-ruby/issues/13).
* The `PATH` contains [multiple compiler toolchains](https://github.com/ruby/setup-ruby/issues/19). Use `where.exe` to debug which tool is used.
* For Ruby ≥ 2.4, MSYS2 is prepended to the `Path`, similar to what RubyInstaller2 does.
Generated Vendored
+5 -3
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -34,7 +34,7 @@ macos_runners = runners.select { |runner| runner.start_with?('macos-') }
ubuntu_runners = runners.select { |runner| runner.start_with?('ubuntu-') }
windows_runners, non_windows_runners = runners.partition { |runner| runner.start_with?('windows-') }
macos_arm64_runners, _macos_x64_runners = macos_runners.partition { |runner| !runner.end_with?('-intel')}
macos_arm64_runners, macos_x64_runners = macos_runners.partition { |runner| !runner.end_with?('-intel')}
ubuntu_arm64_runners, ubuntu_x64_runners = ubuntu_runners.partition { |runner| runner.end_with?('-arm')}
windows_arm64_runners, windows_x64_runners = windows_runners.partition { |runner| runner.end_with?('-arm') }
@@ -53,7 +53,7 @@ matrix += runners.product(jruby_versions)
# truffleruby: latest release + head
truffleruby_versions = %w[truffleruby truffleruby-head truffleruby+graalvm truffleruby+graalvm-head]
matrix += non_windows_runners.product(truffleruby_versions)
matrix += (macos_arm64_runners + ubuntu_runners).product(truffleruby_versions)
# ruby-loco: head
ruby_loco_versions = %w[mingw mswin ucrt]
+2
View File
@@ -196,6 +196,8 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe
But of course you should consider dropping support for these long-EOL Rubies, which cannot even be built on recent macOS machines.`)
} else if (engine === 'truffleruby' && platform.startsWith('windows')) {
throw new Error('TruffleRuby does not currently support Windows.')
} else if (engine === 'truffleruby' && platform.startsWith('macos') && os.arch() === 'x64' && common.floatVersion(version) >= 34.0) {
throw new Error('TruffleRuby 34+ no longer supports macOS Intel, please exclude that combination from CI.')
}
return version
+5 -2
View File
@@ -15,7 +15,7 @@
"3.3.0-preview1", "3.3.0-preview2", "3.3.0-preview3", "3.3.0-rc1", "3.3.0", "3.3.1", "3.3.2", "3.3.3", "3.3.4", "3.3.5", "3.3.6", "3.3.7", "3.3.8", "3.3.9", "3.3.10", "3.3.11",
"3.4.0-preview1", "3.4.0-preview2", "3.4.0-rc1", "3.4.0", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7", "3.4.8", "3.4.9",
"3.5.0-preview1",
"4.0.0-preview2", "4.0.0-preview3", "4.0.0", "4.0.1", "4.0.2",
"4.0.0-preview2", "4.0.0-preview3", "4.0.0", "4.0.1", "4.0.2", "4.0.3", "4.0.4",
"head", "debug", "asan", "asan-release"
],
"jruby": [
@@ -23,7 +23,8 @@
"9.2.9.0", "9.2.10.0", "9.2.11.0", "9.2.11.1", "9.2.12.0", "9.2.13.0", "9.2.14.0", "9.2.15.0", "9.2.16.0", "9.2.17.0", "9.2.18.0", "9.2.19.0", "9.2.20.0", "9.2.20.1", "9.2.21.0",
"9.3.0.0", "9.3.1.0", "9.3.2.0", "9.3.3.0", "9.3.4.0", "9.3.6.0", "9.3.7.0", "9.3.8.0", "9.3.9.0", "9.3.10.0", "9.3.11.0", "9.3.13.0", "9.3.14.0", "9.3.15.0",
"9.4.0.0", "9.4.1.0", "9.4.2.0", "9.4.3.0", "9.4.4.0", "9.4.5.0", "9.4.6.0", "9.4.7.0", "9.4.8.0", "9.4.9.0", "9.4.10.0", "9.4.11.0", "9.4.12.0", "9.4.12.1", "9.4.13.0", "9.4.14.0",
"10.0.0.0", "10.0.0.1", "10.0.1.0", "10.0.2.0", "10.0.3.0", "10.0.4.0",
"10.0.0.0", "10.0.0.1", "10.0.1.0", "10.0.2.0", "10.0.3.0", "10.0.4.0", "10.0.5.0",
"10.1.0.0",
"head"
],
"truffleruby": [
@@ -35,6 +36,7 @@
"24.0.0", "24.0.1", "24.0.2", "24.1.0", "24.1.1", "24.1.2", "24.2.0", "24.2.1",
"25.0.0",
"33.0.0", "33.0.1",
"34.0.0", "34.0.1",
"head"
],
"truffleruby+graalvm": [
@@ -44,6 +46,7 @@
"24.0.0", "24.0.1", "24.0.2", "24.1.0", "24.1.1", "24.1.2", "24.2.0", "24.2.1",
"25.0.0",
"33.0.0", "33.0.1",
"34.0.0", "34.0.1",
"head"
]
}
+4
View File
@@ -296,6 +296,10 @@
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
},
"4.0.3": {
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
},
"head": {
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
+4
View File
@@ -296,6 +296,10 @@
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.2-1/rubyinstaller-4.0.2-1-arm.7z",
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.2-1/rubyinstaller-4.0.2-1-x64.7z"
},
"4.0.3": {
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.3-1/rubyinstaller-4.0.3-1-arm.7z",
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.3-1/rubyinstaller-4.0.3-1-x64.7z"
},
"head": {
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-arm.7z",
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.7z"