mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 14:34:21 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03b78bdda2 | ||
|
|
5fe1a6694c | ||
|
|
bb3a0553d5 | ||
|
|
02c9cccf0e | ||
|
|
8d6236c5db | ||
|
|
4b2d1d631e | ||
|
|
349473288f | ||
|
|
846173692d | ||
|
|
9d93e96fe7 |
@@ -15,7 +15,7 @@ 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 3.2.0-rc1, head, debug, mingw, mswin, ucrt |
|
||||
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.2.0, head, debug, mingw, mswin, ucrt |
|
||||
| `jruby` | 9.1.17.0 - 9.4.0.0, head |
|
||||
| `truffleruby` | 19.3.0 - 22.3.0, head |
|
||||
| `truffleruby+graalvm` | 21.2.0 - 22.3.0, head |
|
||||
@@ -38,13 +38,13 @@ which means Ruby ≤ 2.4 is unmaintained and considered insecure.
|
||||
|
||||
### Supported Platforms
|
||||
|
||||
The action works on these [GitHub-hosted runners](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners) virtual environments. Virtual environments not listed below are unsupported.
|
||||
The action works on these [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources) images. Runner images not listed below are not supported yet. `$OS-latest` just alias to one of these images.
|
||||
|
||||
| Operating System | Recommended | Other Supported Versions |
|
||||
| ---------------- | ----------- | ------------------------ |
|
||||
| Ubuntu | `ubuntu-latest` (= `ubuntu-20.04`) | `ubuntu-18.04`, `ubuntu-22.04` |
|
||||
| macOS | `macos-latest` (= `macos-11`) | `macos-10.15`, `macos-12` |
|
||||
| Windows | `windows-latest` (= `windows-2022`) | `windows-2019` |
|
||||
| Operating System | Supported |
|
||||
| ---------------- | --------- |
|
||||
| Ubuntu | `ubuntu-18.04`, `ubuntu-20.04`, `ubuntu-22.04` |
|
||||
| macOS | `macos-10.15`, `macos-11`, `macos-12` |
|
||||
| Windows | `windows-2019`, `windows-2022` |
|
||||
|
||||
The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder)
|
||||
and on Windows by [RubyInstaller2](https://github.com/oneclick/rubyinstaller2).
|
||||
@@ -132,7 +132,7 @@ and the [condition and expression syntax](https://help.github.com/en/actions/ref
|
||||
* engine-version like `ruby-2.6.5` and `truffleruby-19.3.0`
|
||||
* short version like `'2.6'`, automatically using the latest release matching that version (`2.6.10`)
|
||||
* version only like `'2.6.5'`, assumes MRI for the engine
|
||||
* engine only like `truffleruby`, uses the latest stable release of that implementation
|
||||
* engine only like `ruby` and `truffleruby`, uses the latest stable release of that implementation
|
||||
* `.ruby-version` reads from the project's `.ruby-version` file
|
||||
* `.tool-versions` reads from the project's `.tool-versions` file
|
||||
* If the `ruby-version` input is not specified, `.ruby-version` is tried first, followed by `.tool-versions`
|
||||
|
||||
+13
@@ -120,6 +120,19 @@ export async function installBundler(bundlerVersionInput, rubygemsInputSet, lock
|
||||
}
|
||||
}
|
||||
|
||||
const targetRubyVersion = common.targetRubyVersion(engine, rubyVersion)
|
||||
// Use Bundler 2.3 when we use Ruby 2.3.2 - 2.5
|
||||
// Use Bundler 2.4 when we use Ruby 2.6-2.7
|
||||
if (bundlerVersion == '2') {
|
||||
if (targetRubyVersion <= 2.5) { // < 2.3.2 already handled above
|
||||
console.log('Ruby 2.3.2 - 2.5 only works with Bundler 2.3')
|
||||
bundlerVersion = '2.3'
|
||||
} else if (targetRubyVersion <= 2.7) {
|
||||
console.log('Ruby 2.6-2.7 only works with Bundler 2.4')
|
||||
bundlerVersion = '2.4'
|
||||
}
|
||||
}
|
||||
|
||||
const gem = path.join(rubyPrefix, 'bin', 'gem')
|
||||
// Workaround for https://github.com/rubygems/rubygems/issues/5245
|
||||
// and for https://github.com/oracle/truffleruby/issues/2780
|
||||
|
||||
@@ -95,6 +95,23 @@ export function isBundler2dot2Default(engine, rubyVersion) {
|
||||
}
|
||||
}
|
||||
|
||||
export function targetRubyVersion(engine, rubyVersion) {
|
||||
const version = floatVersion(rubyVersion)
|
||||
if (engine === 'ruby') {
|
||||
return version
|
||||
} else if (engine === 'jruby') {
|
||||
if (version === 9.1) {
|
||||
return 2.3
|
||||
} else if (version === 9.2) {
|
||||
return 2.5
|
||||
} else if (version === 9.3) {
|
||||
return 2.6
|
||||
}
|
||||
}
|
||||
|
||||
return 9.9 // unknown, assume recent
|
||||
}
|
||||
|
||||
export function floatVersion(rubyVersion) {
|
||||
const match = rubyVersion.match(/^\d+\.\d+/)
|
||||
if (match) {
|
||||
|
||||
+33
-2
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@
|
||||
"2.7.0", "2.7.1", "2.7.2", "2.7.3", "2.7.4", "2.7.5", "2.7.6", "2.7.7",
|
||||
"3.0.0-preview1", "3.0.0-preview2", "3.0.0-rc1", "3.0.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5",
|
||||
"3.1.0-preview1", "3.1.0", "3.1.1", "3.1.2", "3.1.3",
|
||||
"3.2.0-preview1", "3.2.0-preview2", "3.2.0-preview3", "3.2.0-rc1",
|
||||
"3.2.0-preview1", "3.2.0-preview2", "3.2.0-preview3", "3.2.0-rc1", "3.2.0",
|
||||
"head", "debug"
|
||||
],
|
||||
"jruby": [
|
||||
|
||||
@@ -40,14 +40,17 @@
|
||||
"2.7.4": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.4-1/rubyinstaller-2.7.4-1-x64.7z",
|
||||
"2.7.5": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.5-1/rubyinstaller-2.7.5-1-x64.7z",
|
||||
"2.7.6": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.6-1/rubyinstaller-2.7.6-1-x64.7z",
|
||||
"2.7.7": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.7-1/rubyinstaller-2.7.7-1-x64.7z",
|
||||
"3.0.0": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.0-1/rubyinstaller-3.0.0-1-x64.7z",
|
||||
"3.0.1": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.1-1/rubyinstaller-3.0.1-1-x64.7z",
|
||||
"3.0.2": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.2-1/rubyinstaller-3.0.2-1-x64.7z",
|
||||
"3.0.3": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.3-1/rubyinstaller-3.0.3-1-x64.7z",
|
||||
"3.0.4": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.4-1/rubyinstaller-3.0.4-1-x64.7z",
|
||||
"3.0.5": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.5-1/rubyinstaller-3.0.5-1-x64.7z",
|
||||
"3.1.0": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.0-1/rubyinstaller-3.1.0-1-x64.7z",
|
||||
"3.1.1": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.1-1/rubyinstaller-3.1.1-1-x64.7z",
|
||||
"3.1.2": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.2-1/rubyinstaller-3.1.2-1-x64.7z",
|
||||
"3.1.3": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.3-1/rubyinstaller-3.1.3-1-x64.7z",
|
||||
"head": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.7z",
|
||||
"mingw": "https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mingw.7z",
|
||||
"mswin": "https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mswin.7z",
|
||||
|
||||
Reference in New Issue
Block a user