mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 22:44:20 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57a3395c80 | ||
|
|
296bf7f67a |
@@ -18,6 +18,10 @@ jobs:
|
|||||||
os: [ ubuntu-18.04, ubuntu-20.04, macos-10.15, macos-11.0, windows-2019, windows-2022 ]
|
os: [ ubuntu-18.04, ubuntu-20.04, macos-10.15, macos-11.0, windows-2019, windows-2022 ]
|
||||||
ruby: [ 1.9, '2.0', 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, ruby-head, jruby, jruby-head, truffleruby, truffleruby-head, truffleruby+graalvm, truffleruby+graalvm-head ]
|
ruby: [ 1.9, '2.0', 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, ruby-head, jruby, jruby-head, truffleruby, truffleruby-head, truffleruby+graalvm, truffleruby+graalvm-head ]
|
||||||
include:
|
include:
|
||||||
|
- { os: ubuntu-22.04, ruby: 3.1.0 }
|
||||||
|
- { os: ubuntu-22.04, ruby: 3.1 }
|
||||||
|
- { os: ubuntu-22.04, ruby: 3.2.0-preview1 }
|
||||||
|
- { os: ubuntu-22.04, ruby: ruby-head }
|
||||||
- { os: windows-2019, ruby: mingw }
|
- { os: windows-2019, ruby: mingw }
|
||||||
- { os: windows-2019, ruby: mswin }
|
- { os: windows-2019, ruby: mswin }
|
||||||
- { os: windows-2022, ruby: mingw }
|
- { os: windows-2022, ruby: mingw }
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ The action works on these [GitHub-hosted runners](https://help.github.com/en/act
|
|||||||
| macOS | `macos-latest` (= `macos-10.15`) | `macos-11.0` |
|
| macOS | `macos-latest` (= `macos-10.15`) | `macos-11.0` |
|
||||||
| Windows | `windows-latest` (= `windows-2022`) | `windows-2019` |
|
| Windows | `windows-latest` (= `windows-2022`) | `windows-2019` |
|
||||||
|
|
||||||
|
On `ubuntu-22.04` (beta), only `ruby: 3.1 - head` are supported, due to Ubuntu 22.04 only supporting OpenSSL 3.
|
||||||
|
|
||||||
The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder)
|
The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder)
|
||||||
and on Windows by [RubyInstaller2](https://github.com/oneclick/rubyinstaller2).
|
and on Windows by [RubyInstaller2](https://github.com/oneclick/rubyinstaller2).
|
||||||
`mingw` and `mswin` builds are generated by [ruby-loco](https://github.com/MSP-Greg/ruby-loco).
|
`mingw` and `mswin` builds are generated by [ruby-loco](https://github.com/MSP-Greg/ruby-loco).
|
||||||
|
|||||||
@@ -98,6 +98,16 @@ function getImageOS() {
|
|||||||
return imageOS
|
return imageOS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const supportedPlatforms = [
|
||||||
|
'ubuntu-18.04',
|
||||||
|
'ubuntu-20.04',
|
||||||
|
'ubuntu-22.04',
|
||||||
|
'macos-10.15',
|
||||||
|
'macos-11.0',
|
||||||
|
'windows-2019',
|
||||||
|
'windows-2022',
|
||||||
|
]
|
||||||
|
|
||||||
export function getVirtualEnvironmentName() {
|
export function getVirtualEnvironmentName() {
|
||||||
const imageOS = getImageOS()
|
const imageOS = getImageOS()
|
||||||
|
|
||||||
|
|||||||
+28
-2
@@ -259,6 +259,7 @@ __nccwpck_require__.r(__webpack_exports__);
|
|||||||
/* harmony export */ "isBundler2Default": () => (/* binding */ isBundler2Default),
|
/* harmony export */ "isBundler2Default": () => (/* binding */ isBundler2Default),
|
||||||
/* harmony export */ "floatVersion": () => (/* binding */ floatVersion),
|
/* harmony export */ "floatVersion": () => (/* binding */ floatVersion),
|
||||||
/* harmony export */ "hashFile": () => (/* binding */ hashFile),
|
/* harmony export */ "hashFile": () => (/* binding */ hashFile),
|
||||||
|
/* harmony export */ "supportedPlatforms": () => (/* binding */ supportedPlatforms),
|
||||||
/* harmony export */ "getVirtualEnvironmentName": () => (/* binding */ getVirtualEnvironmentName),
|
/* harmony export */ "getVirtualEnvironmentName": () => (/* binding */ getVirtualEnvironmentName),
|
||||||
/* harmony export */ "shouldUseToolCache": () => (/* binding */ shouldUseToolCache),
|
/* harmony export */ "shouldUseToolCache": () => (/* binding */ shouldUseToolCache),
|
||||||
/* harmony export */ "getToolCacheRubyPrefix": () => (/* binding */ getToolCacheRubyPrefix),
|
/* harmony export */ "getToolCacheRubyPrefix": () => (/* binding */ getToolCacheRubyPrefix),
|
||||||
@@ -366,6 +367,16 @@ function getImageOS() {
|
|||||||
return imageOS
|
return imageOS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const supportedPlatforms = [
|
||||||
|
'ubuntu-18.04',
|
||||||
|
'ubuntu-20.04',
|
||||||
|
'ubuntu-22.04',
|
||||||
|
'macos-10.15',
|
||||||
|
'macos-11.0',
|
||||||
|
'windows-2019',
|
||||||
|
'windows-2022',
|
||||||
|
]
|
||||||
|
|
||||||
function getVirtualEnvironmentName() {
|
function getVirtualEnvironmentName() {
|
||||||
const imageOS = getImageOS()
|
const imageOS = getImageOS()
|
||||||
|
|
||||||
@@ -59565,6 +59576,17 @@ const releasesURL = 'https://github.com/ruby/ruby-builder/releases'
|
|||||||
const windows = common.windows
|
const windows = common.windows
|
||||||
|
|
||||||
function getAvailableVersions(platform, engine) {
|
function getAvailableVersions(platform, engine) {
|
||||||
|
if (!common.supportedPlatforms.includes(platform)) {
|
||||||
|
throw new Error(`Unsupported platform ${platform}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (platform === 'ubuntu-22.04') {
|
||||||
|
const rubyVersions = rubyBuilderVersions['ruby']
|
||||||
|
return {
|
||||||
|
ruby: rubyVersions.slice(rubyVersions.indexOf('3.1.0')),
|
||||||
|
}[engine]
|
||||||
|
}
|
||||||
|
|
||||||
return rubyBuilderVersions[engine]
|
return rubyBuilderVersions[engine]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59747,6 +59769,10 @@ const msysPathEntries = [`${msys1}\\mingw\\x86_64-w64-mingw32\\bin`, `${msys1}\\
|
|||||||
const virtualEnv = common.getVirtualEnvironmentName()
|
const virtualEnv = common.getVirtualEnvironmentName()
|
||||||
|
|
||||||
function getAvailableVersions(platform, engine) {
|
function getAvailableVersions(platform, engine) {
|
||||||
|
if (!common.supportedPlatforms.includes(platform)) {
|
||||||
|
throw new Error(`Unsupported platform ${platform}`)
|
||||||
|
}
|
||||||
|
|
||||||
if (engine === 'ruby') {
|
if (engine === 'ruby') {
|
||||||
return Object.keys(rubyInstallerVersions)
|
return Object.keys(rubyInstallerVersions)
|
||||||
} else {
|
} else {
|
||||||
@@ -60315,7 +60341,7 @@ async function setupRuby(options = {}) {
|
|||||||
const [engine, parsedVersion] = parseRubyEngineAndVersion(inputs['ruby-version'])
|
const [engine, parsedVersion] = parseRubyEngineAndVersion(inputs['ruby-version'])
|
||||||
|
|
||||||
let installer
|
let installer
|
||||||
if (platform.startsWith('windows-') && engine !== 'jruby') {
|
if (platform.startsWith('windows-') && engine === 'ruby') {
|
||||||
installer = __nccwpck_require__(3216)
|
installer = __nccwpck_require__(3216)
|
||||||
} else {
|
} else {
|
||||||
installer = __nccwpck_require__(9974)
|
installer = __nccwpck_require__(9974)
|
||||||
@@ -60424,7 +60450,7 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe
|
|||||||
throw new Error(`Unknown version ${parsedVersion} for ${engine} on ${platform}
|
throw new Error(`Unknown version ${parsedVersion} for ${engine} on ${platform}
|
||||||
available versions for ${engine} on ${platform}: ${engineVersions.join(', ')}
|
available versions for ${engine} on ${platform}: ${engineVersions.join(', ')}
|
||||||
Make sure you use the latest version of the action with - uses: ruby/setup-ruby@v1
|
Make sure you use the latest version of the action with - uses: ruby/setup-ruby@v1
|
||||||
File an issue at https://github.com/ruby/setup-ruby/issues if would like support for a new version`)
|
File an issue at https://github.com/ruby/setup-ruby/issues if you would like support for a new version`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export async function setupRuby(options = {}) {
|
|||||||
const [engine, parsedVersion] = parseRubyEngineAndVersion(inputs['ruby-version'])
|
const [engine, parsedVersion] = parseRubyEngineAndVersion(inputs['ruby-version'])
|
||||||
|
|
||||||
let installer
|
let installer
|
||||||
if (platform.startsWith('windows-') && engine !== 'jruby') {
|
if (platform.startsWith('windows-') && engine === 'ruby') {
|
||||||
installer = require('./windows')
|
installer = require('./windows')
|
||||||
} else {
|
} else {
|
||||||
installer = require('./ruby-builder')
|
installer = require('./ruby-builder')
|
||||||
@@ -151,7 +151,7 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe
|
|||||||
throw new Error(`Unknown version ${parsedVersion} for ${engine} on ${platform}
|
throw new Error(`Unknown version ${parsedVersion} for ${engine} on ${platform}
|
||||||
available versions for ${engine} on ${platform}: ${engineVersions.join(', ')}
|
available versions for ${engine} on ${platform}: ${engineVersions.join(', ')}
|
||||||
Make sure you use the latest version of the action with - uses: ruby/setup-ruby@v1
|
Make sure you use the latest version of the action with - uses: ruby/setup-ruby@v1
|
||||||
File an issue at https://github.com/ruby/setup-ruby/issues if would like support for a new version`)
|
File an issue at https://github.com/ruby/setup-ruby/issues if you would like support for a new version`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,17 @@ const releasesURL = 'https://github.com/ruby/ruby-builder/releases'
|
|||||||
const windows = common.windows
|
const windows = common.windows
|
||||||
|
|
||||||
export function getAvailableVersions(platform, engine) {
|
export function getAvailableVersions(platform, engine) {
|
||||||
|
if (!common.supportedPlatforms.includes(platform)) {
|
||||||
|
throw new Error(`Unsupported platform ${platform}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (platform === 'ubuntu-22.04') {
|
||||||
|
const rubyVersions = rubyBuilderVersions['ruby']
|
||||||
|
return {
|
||||||
|
ruby: rubyVersions.slice(rubyVersions.indexOf('3.1.0')),
|
||||||
|
}[engine]
|
||||||
|
}
|
||||||
|
|
||||||
return rubyBuilderVersions[engine]
|
return rubyBuilderVersions[engine]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ const msysPathEntries = [`${msys1}\\mingw\\x86_64-w64-mingw32\\bin`, `${msys1}\\
|
|||||||
const virtualEnv = common.getVirtualEnvironmentName()
|
const virtualEnv = common.getVirtualEnvironmentName()
|
||||||
|
|
||||||
export function getAvailableVersions(platform, engine) {
|
export function getAvailableVersions(platform, engine) {
|
||||||
|
if (!common.supportedPlatforms.includes(platform)) {
|
||||||
|
throw new Error(`Unsupported platform ${platform}`)
|
||||||
|
}
|
||||||
|
|
||||||
if (engine === 'ruby') {
|
if (engine === 'ruby') {
|
||||||
return Object.keys(rubyInstallerVersions)
|
return Object.keys(rubyInstallerVersions)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user