mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 14:34:21 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7bae1d00b5 | ||
|
|
4d521eadc8 | ||
|
|
1d9686e3ef | ||
|
|
bea2fb915c | ||
|
|
f269373437 | ||
|
|
784fcda67f | ||
|
|
f6e05710ec | ||
|
|
207a39969b | ||
|
|
086ffb1a20 | ||
|
|
27ceac8081 | ||
|
|
aac0c64812 | ||
|
|
727fd4feab | ||
|
|
79c01b8847 | ||
|
|
c04af2bb72 | ||
|
|
17f5c914a0 | ||
|
|
5496baa6db | ||
|
|
0ec4904dc7 |
@@ -17,9 +17,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-12, macos-13, macos-14, windows-2019, windows-2022 ]
|
os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-12, macos-13, macos-14, macos-15, windows-2019, windows-2022 ]
|
||||||
ruby: [
|
ruby: [
|
||||||
'1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', ruby-head,
|
'1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4', ruby-head,
|
||||||
jruby, jruby-head,
|
jruby, jruby-head,
|
||||||
truffleruby, truffleruby-head,
|
truffleruby, truffleruby-head,
|
||||||
truffleruby+graalvm, truffleruby+graalvm-head
|
truffleruby+graalvm, truffleruby+graalvm-head
|
||||||
@@ -30,12 +30,13 @@ jobs:
|
|||||||
- { os: windows-2022, ruby: mingw }
|
- { os: windows-2022, ruby: mingw }
|
||||||
- { os: windows-2022, ruby: mswin }
|
- { os: windows-2022, ruby: mswin }
|
||||||
- { os: windows-2022, ruby: ucrt }
|
- { os: windows-2022, ruby: ucrt }
|
||||||
|
- { os: ubuntu-24.04, ruby: asan }
|
||||||
exclude:
|
exclude:
|
||||||
# https://github.com/ruby/setup-ruby/issues/496
|
# https://github.com/ruby/setup-ruby/issues/496
|
||||||
- { os: ubuntu-22.04, ruby: '2.2' }
|
- { os: ubuntu-22.04, ruby: '2.2' }
|
||||||
- { os: ubuntu-24.04, ruby: '1.9' }
|
- { os: ubuntu-24.04, ruby: '1.9' }
|
||||||
- { os: ubuntu-24.04, ruby: '2.2' }
|
- { os: ubuntu-24.04, ruby: '2.2' }
|
||||||
# These old Rubies fail to compile on macos-14 (macOS 14, arm64), which is used for ruby/ruby-builder
|
# These old Rubies fail to compile on macOS arm64
|
||||||
- { os: macos-14, ruby: '1.9' }
|
- { os: macos-14, ruby: '1.9' }
|
||||||
- { os: macos-14, ruby: '2.0' }
|
- { os: macos-14, ruby: '2.0' }
|
||||||
- { os: macos-14, ruby: '2.1' }
|
- { os: macos-14, ruby: '2.1' }
|
||||||
@@ -43,18 +44,27 @@ jobs:
|
|||||||
- { os: macos-14, ruby: '2.3' }
|
- { os: macos-14, ruby: '2.3' }
|
||||||
- { os: macos-14, ruby: '2.4' }
|
- { os: macos-14, ruby: '2.4' }
|
||||||
- { os: macos-14, ruby: '2.5' }
|
- { os: macos-14, ruby: '2.5' }
|
||||||
# Windows
|
- { os: macos-15, ruby: '1.9' }
|
||||||
|
- { os: macos-15, ruby: '2.0' }
|
||||||
|
- { os: macos-15, ruby: '2.1' }
|
||||||
|
- { os: macos-15, ruby: '2.2' }
|
||||||
|
- { os: macos-15, ruby: '2.3' }
|
||||||
|
- { os: macos-15, ruby: '2.4' }
|
||||||
|
- { os: macos-15, ruby: '2.5' }
|
||||||
|
# Windows (note: previews are not available on Windows)
|
||||||
- { os: windows-2019, ruby: '1.9' }
|
- { os: windows-2019, ruby: '1.9' }
|
||||||
- { os: windows-2019, ruby: debug }
|
|
||||||
- { os: windows-2019, ruby: truffleruby }
|
|
||||||
- { os: windows-2019, ruby: truffleruby-head }
|
|
||||||
- { os: windows-2019, ruby: truffleruby+graalvm }
|
|
||||||
- { os: windows-2019, ruby: truffleruby+graalvm-head }
|
|
||||||
- { os: windows-2022, ruby: '1.9' }
|
- { os: windows-2022, ruby: '1.9' }
|
||||||
|
- { os: windows-2019, ruby: '3.4' } # 3.4.0-preview2
|
||||||
|
- { os: windows-2022, ruby: '3.4' } # 3.4.0-preview2
|
||||||
|
- { os: windows-2019, ruby: debug }
|
||||||
- { os: windows-2022, ruby: debug }
|
- { os: windows-2022, ruby: debug }
|
||||||
|
- { os: windows-2019, ruby: truffleruby }
|
||||||
- { os: windows-2022, ruby: truffleruby }
|
- { os: windows-2022, ruby: truffleruby }
|
||||||
|
- { os: windows-2019, ruby: truffleruby-head }
|
||||||
- { os: windows-2022, ruby: truffleruby-head }
|
- { os: windows-2022, ruby: truffleruby-head }
|
||||||
|
- { os: windows-2019, ruby: truffleruby+graalvm }
|
||||||
- { os: windows-2022, ruby: truffleruby+graalvm }
|
- { os: windows-2022, ruby: truffleruby+graalvm }
|
||||||
|
- { os: windows-2019, ruby: truffleruby+graalvm-head }
|
||||||
- { os: windows-2022, ruby: truffleruby+graalvm-head }
|
- { os: windows-2022, ruby: truffleruby+graalvm-head }
|
||||||
|
|
||||||
name: ${{ matrix.os }} ${{ matrix.ruby }}
|
name: ${{ matrix.os }} ${{ matrix.ruby }}
|
||||||
|
|||||||
@@ -15,13 +15,17 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
|
|||||||
|
|
||||||
| Interpreter | Versions |
|
| Interpreter | Versions |
|
||||||
| ----------- | -------- |
|
| ----------- | -------- |
|
||||||
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.4.0-preview1, 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.4.0-preview2, head, debug, mingw, mswin, ucrt |
|
||||||
| `jruby` | 9.1.17.0 - 9.4.8.0, head |
|
| `jruby` | 9.1.17.0 - 9.4.8.0, head |
|
||||||
| `truffleruby` | 19.3.0 - 24.1.0, head |
|
| `truffleruby` | 19.3.0 - 24.1.1, head |
|
||||||
| `truffleruby+graalvm` | 21.2.0 - 24.1.0, head |
|
| `truffleruby+graalvm` | 21.2.0 - 24.1.1, head |
|
||||||
|
|
||||||
`ruby-debug` is the same as `ruby-head` but with assertions enabled (`-DRUBY_DEBUG=1`).
|
`ruby-debug` is the same as `ruby-head` but with assertions enabled (`-DRUBY_DEBUG=1`).
|
||||||
|
|
||||||
|
`ruby-asan` is the same as `ruby-head` but with AddressSanitizer (ASan) enabled, helpful for finding memory issues in native extensions.
|
||||||
|
Native extensions are automatically compiled with AddressSanitizer when using `ruby-asan`.
|
||||||
|
`ruby-asan` is currently only available on `ubuntu-24.04`.
|
||||||
|
|
||||||
Regarding Windows ruby master builds, `mingw` is a MSYS2/MinGW build, `head` & `ucrt` are MSYS2/UCRT64
|
Regarding Windows ruby master builds, `mingw` is a MSYS2/MinGW build, `head` & `ucrt` are MSYS2/UCRT64
|
||||||
builds, and `mswin` is a MSVC/VS 2022 build.
|
builds, and `mswin` is a MSVC/VS 2022 build.
|
||||||
|
|
||||||
@@ -51,10 +55,10 @@ and on Windows by [RubyInstaller2](https://github.com/oneclick/rubyinstaller2).
|
|||||||
The `mingw`, `ucrt` and `mswin` builds are generated by [ruby-loco](https://github.com/MSP-Greg/ruby-loco).
|
The `mingw`, `ucrt` and `mswin` builds are generated by [ruby-loco](https://github.com/MSP-Greg/ruby-loco).
|
||||||
`ruby-head` is generated by [ruby-dev-builder](https://github.com/ruby/ruby-dev-builder),
|
`ruby-head` is generated by [ruby-dev-builder](https://github.com/ruby/ruby-dev-builder),
|
||||||
`jruby-head` is generated by [jruby-dev-builder](https://github.com/ruby/jruby-dev-builder),
|
`jruby-head` is generated by [jruby-dev-builder](https://github.com/ruby/jruby-dev-builder),
|
||||||
`truffleruby-head` is generated by [truffleruby-dev-builder](https://github.com/ruby/truffleruby-dev-builder)
|
`truffleruby-head` and `truffleruby+graalvm-head` are generated by [truffleruby-dev-builder](https://github.com/ruby/truffleruby-dev-builder).
|
||||||
and `truffleruby+graalvm` is generated by [graalvm-ce-dev-builds](https://github.com/graalvm/graalvm-ce-dev-builds).
|
The full list of available Ruby versions can be seen in [ruby-builder-versions.json](ruby-builder-versions.json) for Ubuntu and macOS
|
||||||
The full list of available Ruby versions can be seen in [ruby-builder-versions.json](ruby-builder-versions.json)
|
(although some combinations are not available, see [the full list](https://github.com/ruby/ruby-builder/releases/tag/toolcache))
|
||||||
for Ubuntu and macOS and in [windows-versions.json](windows-versions.json) for Windows.
|
and in [windows-versions.json](windows-versions.json) for Windows.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ const core = require('@actions/core')
|
|||||||
const tc = require('@actions/tool-cache')
|
const tc = require('@actions/tool-cache')
|
||||||
const { performance } = require('perf_hooks')
|
const { performance } = require('perf_hooks')
|
||||||
const linuxOSInfo = require('linux-os-info')
|
const linuxOSInfo = require('linux-os-info')
|
||||||
import macosRelease from 'macos-release'
|
|
||||||
|
|
||||||
export const windows = (os.platform() === 'win32')
|
export const windows = (os.platform() === 'win32')
|
||||||
// Extract to SSD on Windows, see https://github.com/ruby/setup-ruby/pull/14
|
// Extract to SSD on Windows, see https://github.com/ruby/setup-ruby/pull/14
|
||||||
@@ -67,7 +66,7 @@ export async function time(name, block) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function isHeadVersion(rubyVersion) {
|
export function isHeadVersion(rubyVersion) {
|
||||||
return ['head', 'debug', 'mingw', 'mswin', 'ucrt'].includes(rubyVersion)
|
return ['head', 'debug', 'mingw', 'mswin', 'ucrt', 'asan'].includes(rubyVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isStableVersion(engine, rubyVersion) {
|
export function isStableVersion(engine, rubyVersion) {
|
||||||
@@ -162,73 +161,105 @@ export async function hashFile(file) {
|
|||||||
return hash.digest('hex')
|
return hash.digest('hex')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// macos is not listed explicitly, see below
|
||||||
const GitHubHostedPlatforms = [
|
const GitHubHostedPlatforms = [
|
||||||
'ubuntu-20.04-x64',
|
'ubuntu-20.04-x64',
|
||||||
'ubuntu-22.04-x64',
|
'ubuntu-22.04-x64',
|
||||||
'ubuntu-24.04-x64',
|
'ubuntu-24.04-x64',
|
||||||
'macos-12-x64',
|
|
||||||
'macos-13-x64',
|
|
||||||
'macos-13-arm64',
|
|
||||||
'macos-14-x64',
|
|
||||||
'macos-14-arm64',
|
|
||||||
'windows-2019-x64',
|
'windows-2019-x64',
|
||||||
'windows-2022-x64',
|
'windows-2022-x64',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
// Precisely: whether we have builds for that platform and there are GitHub-hosted runners to test it
|
||||||
|
function isSupportedPlatform() {
|
||||||
|
const platform = getOSName()
|
||||||
|
switch (platform) {
|
||||||
|
case 'ubuntu':
|
||||||
|
return GitHubHostedPlatforms.includes(getOSNameVersionArch())
|
||||||
|
case 'macos':
|
||||||
|
// See https://github.com/ruby/ruby-builder/blob/master/README.md#naming
|
||||||
|
// 13 on arm64 because of old macos-arm-oss runners
|
||||||
|
return (os.arch() === 'x64' && parseInt(getOSVersion()) >= 12) ||
|
||||||
|
(os.arch() === 'arm64' && parseInt(getOSVersion()) >= 13)
|
||||||
|
case 'windows':
|
||||||
|
return GitHubHostedPlatforms.includes(getOSNameVersionArch())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Actually a self-hosted runner for which the OS and OS version does not correspond to a GitHub-hosted runner image,
|
// Actually a self-hosted runner for which the OS and OS version does not correspond to a GitHub-hosted runner image,
|
||||||
export function isSelfHostedRunner() {
|
export function isSelfHostedRunner() {
|
||||||
if (inputs.selfHosted === undefined) {
|
if (inputs.selfHosted === undefined) {
|
||||||
throw new Error('inputs.selfHosted should have been already set')
|
throw new Error('inputs.selfHosted should have been already set')
|
||||||
}
|
}
|
||||||
|
|
||||||
return inputs.selfHosted === 'true' ||
|
return inputs.selfHosted === 'true' || !isSupportedPlatform()
|
||||||
!GitHubHostedPlatforms.includes(getOSNameVersionArch())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function selfHostedRunnerReason() {
|
export function selfHostedRunnerReason() {
|
||||||
if (inputs.selfHosted === 'true') {
|
if (inputs.selfHosted === 'true') {
|
||||||
return 'the self-hosted input was set'
|
return 'the self-hosted input was set'
|
||||||
} else if (!GitHubHostedPlatforms.includes(getOSNameVersionArch())) {
|
} else if (!isSupportedPlatform()) {
|
||||||
return 'the platform does not match a GitHub-hosted runner image (or that image is deprecated and no longer supported)'
|
return 'the platform does not match a GitHub-hosted runner image (or that image is deprecated and no longer supported)'
|
||||||
} else {
|
} else {
|
||||||
return 'unknown reason'
|
return 'unknown reason'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let osNameVersion = undefined
|
let osName = undefined
|
||||||
|
let osVersion = undefined
|
||||||
|
|
||||||
export function getOSNameVersion() {
|
export function getOSName() {
|
||||||
if (osNameVersion !== undefined) {
|
if (osName !== undefined) {
|
||||||
return osNameVersion
|
return osName
|
||||||
}
|
}
|
||||||
|
|
||||||
const platform = os.platform()
|
const platform = os.platform()
|
||||||
let osName
|
|
||||||
let osVersion
|
|
||||||
if (platform === 'linux') {
|
if (platform === 'linux') {
|
||||||
const info = linuxOSInfo({mode: 'sync'})
|
const info = linuxOSInfo({mode: 'sync'})
|
||||||
osName = info.id
|
osName = info.id
|
||||||
osVersion = info.version_id
|
|
||||||
} else if (platform === 'darwin') {
|
} else if (platform === 'darwin') {
|
||||||
osName = 'macos'
|
osName = 'macos'
|
||||||
osVersion = macosRelease().version
|
|
||||||
} else if (platform === 'win32') {
|
} else if (platform === 'win32') {
|
||||||
osName = 'windows'
|
osName = 'windows'
|
||||||
|
} else {
|
||||||
|
throw new Error(`Unknown platform ${platform}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
return osName
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getOSVersion() {
|
||||||
|
if (osVersion !== undefined) {
|
||||||
|
return osVersion
|
||||||
|
}
|
||||||
|
|
||||||
|
const platform = os.platform()
|
||||||
|
if (platform === 'linux') {
|
||||||
|
const info = linuxOSInfo({mode: 'sync'})
|
||||||
|
osVersion = info.version_id
|
||||||
|
} else if (platform === 'darwin') {
|
||||||
|
// See https://github.com/sindresorhus/macos-release/blob/main/index.js
|
||||||
|
const darwinVersion = parseInt(os.release().match(/^\d+/)[0])
|
||||||
|
osVersion = `${darwinVersion - 9}`
|
||||||
|
} else if (platform === 'win32') {
|
||||||
osVersion = findWindowsVersion()
|
osVersion = findWindowsVersion()
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`Unknown platform ${platform}`)
|
throw new Error(`Unknown platform ${platform}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
osNameVersion = `${osName}-${osVersion}`
|
return osVersion
|
||||||
return osNameVersion
|
}
|
||||||
|
|
||||||
|
export function getOSNameVersion() {
|
||||||
|
return `${getOSName()}-${getOSVersion()}`
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getOSNameVersionArch() {
|
export function getOSNameVersionArch() {
|
||||||
return `${getOSNameVersion()}-${os.arch()}`
|
return `${getOSName()}-${getOSVersion()}-${os.arch()}`
|
||||||
}
|
}
|
||||||
|
|
||||||
function findWindowsVersion() {
|
function findWindowsVersion() {
|
||||||
const version = os.version();
|
const version = os.version()
|
||||||
const match = version.match(/^Windows Server (\d+) Datacenter/)
|
const match = version.match(/^Windows Server (\d+) Datacenter/)
|
||||||
if (match) {
|
if (match) {
|
||||||
return match[1]
|
return match[1]
|
||||||
@@ -261,15 +292,14 @@ export function getRunnerToolCache() {
|
|||||||
|
|
||||||
// Rubies prebuilt by this action embed this path rather than using $RUNNER_TOOL_CACHE
|
// Rubies prebuilt by this action embed this path rather than using $RUNNER_TOOL_CACHE
|
||||||
function getDefaultToolCachePath() {
|
function getDefaultToolCachePath() {
|
||||||
const platform = getOSNameVersion()
|
const platform = getOSName()
|
||||||
if (platform.startsWith('ubuntu-')) {
|
switch (platform) {
|
||||||
return '/opt/hostedtoolcache'
|
case 'ubuntu':
|
||||||
} else if (platform.startsWith('macos-')) {
|
return '/opt/hostedtoolcache'
|
||||||
return '/Users/runner/hostedtoolcache'
|
case 'macos':
|
||||||
} else if (platform.startsWith('windows-')) {
|
return '/Users/runner/hostedtoolcache'
|
||||||
return 'C:\\hostedtoolcache\\windows'
|
case 'windows':
|
||||||
} else {
|
return 'C:\\hostedtoolcache\\windows'
|
||||||
throw new Error('Unknown platform')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+104
-113
@@ -17,7 +17,7 @@ const path = __nccwpck_require__(1017)
|
|||||||
const core = __nccwpck_require__(2186)
|
const core = __nccwpck_require__(2186)
|
||||||
const exec = __nccwpck_require__(1514)
|
const exec = __nccwpck_require__(1514)
|
||||||
const cache = __nccwpck_require__(7799)
|
const cache = __nccwpck_require__(7799)
|
||||||
const common = __nccwpck_require__(3143)
|
const common = __nccwpck_require__(4717)
|
||||||
|
|
||||||
const DEFAULT_CACHE_VERSION = '0'
|
const DEFAULT_CACHE_VERSION = '0'
|
||||||
|
|
||||||
@@ -280,95 +280,53 @@ async function computeBaseKey(platform, engine, version, lockFile, cacheVersion)
|
|||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 3143:
|
/***/ 4717:
|
||||||
/***/ ((__unused_webpack_module, __webpack_exports__, __nccwpck_require__) => {
|
/***/ ((__unused_webpack_module, __webpack_exports__, __nccwpck_require__) => {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
// ESM COMPAT FLAG
|
|
||||||
__nccwpck_require__.r(__webpack_exports__);
|
__nccwpck_require__.r(__webpack_exports__);
|
||||||
|
/* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
|
||||||
// EXPORTS
|
/* harmony export */ "windows": () => (/* binding */ windows),
|
||||||
__nccwpck_require__.d(__webpack_exports__, {
|
/* harmony export */ "drive": () => (/* binding */ drive),
|
||||||
"createToolCacheCompleteFile": () => (/* binding */ createToolCacheCompleteFile),
|
/* harmony export */ "inputs": () => (/* binding */ inputs),
|
||||||
"drive": () => (/* binding */ drive),
|
/* harmony export */ "partition": () => (/* binding */ partition),
|
||||||
"floatVersion": () => (/* binding */ floatVersion),
|
/* harmony export */ "measure": () => (/* binding */ measure),
|
||||||
"getOSNameVersion": () => (/* binding */ getOSNameVersion),
|
/* harmony export */ "time": () => (/* binding */ time),
|
||||||
"getOSNameVersionArch": () => (/* binding */ getOSNameVersionArch),
|
/* harmony export */ "isHeadVersion": () => (/* binding */ isHeadVersion),
|
||||||
"getRunnerToolCache": () => (/* binding */ getRunnerToolCache),
|
/* harmony export */ "isStableVersion": () => (/* binding */ isStableVersion),
|
||||||
"getToolCachePath": () => (/* binding */ getToolCachePath),
|
/* harmony export */ "hasBundlerDefaultGem": () => (/* binding */ hasBundlerDefaultGem),
|
||||||
"getToolCacheRubyPrefix": () => (/* binding */ getToolCacheRubyPrefix),
|
/* harmony export */ "isBundler1Default": () => (/* binding */ isBundler1Default),
|
||||||
"hasBundlerDefaultGem": () => (/* binding */ hasBundlerDefaultGem),
|
/* harmony export */ "isBundler2Default": () => (/* binding */ isBundler2Default),
|
||||||
"hashFile": () => (/* binding */ hashFile),
|
/* harmony export */ "isBundler2dot2Default": () => (/* binding */ isBundler2dot2Default),
|
||||||
"inputs": () => (/* binding */ inputs),
|
/* harmony export */ "targetRubyVersion": () => (/* binding */ targetRubyVersion),
|
||||||
"isBundler1Default": () => (/* binding */ isBundler1Default),
|
/* harmony export */ "floatVersion": () => (/* binding */ floatVersion),
|
||||||
"isBundler2Default": () => (/* binding */ isBundler2Default),
|
/* harmony export */ "hashFile": () => (/* binding */ hashFile),
|
||||||
"isBundler2dot2Default": () => (/* binding */ isBundler2dot2Default),
|
/* harmony export */ "isSelfHostedRunner": () => (/* binding */ isSelfHostedRunner),
|
||||||
"isHeadVersion": () => (/* binding */ isHeadVersion),
|
/* harmony export */ "selfHostedRunnerReason": () => (/* binding */ selfHostedRunnerReason),
|
||||||
"isSelfHostedRunner": () => (/* binding */ isSelfHostedRunner),
|
/* harmony export */ "getOSName": () => (/* binding */ getOSName),
|
||||||
"isStableVersion": () => (/* binding */ isStableVersion),
|
/* harmony export */ "getOSVersion": () => (/* binding */ getOSVersion),
|
||||||
"measure": () => (/* binding */ measure),
|
/* harmony export */ "getOSNameVersion": () => (/* binding */ getOSNameVersion),
|
||||||
"partition": () => (/* binding */ partition),
|
/* harmony export */ "getOSNameVersionArch": () => (/* binding */ getOSNameVersionArch),
|
||||||
"selfHostedRunnerReason": () => (/* binding */ selfHostedRunnerReason),
|
/* harmony export */ "shouldUseToolCache": () => (/* binding */ shouldUseToolCache),
|
||||||
"setupPath": () => (/* binding */ setupPath),
|
/* harmony export */ "getToolCachePath": () => (/* binding */ getToolCachePath),
|
||||||
"shouldUseToolCache": () => (/* binding */ shouldUseToolCache),
|
/* harmony export */ "getRunnerToolCache": () => (/* binding */ getRunnerToolCache),
|
||||||
"targetRubyVersion": () => (/* binding */ targetRubyVersion),
|
/* harmony export */ "toolCacheFind": () => (/* binding */ toolCacheFind),
|
||||||
"time": () => (/* binding */ time),
|
/* harmony export */ "getToolCacheRubyPrefix": () => (/* binding */ getToolCacheRubyPrefix),
|
||||||
"toolCacheCompleteFile": () => (/* binding */ toolCacheCompleteFile),
|
/* harmony export */ "toolCacheCompleteFile": () => (/* binding */ toolCacheCompleteFile),
|
||||||
"toolCacheFind": () => (/* binding */ toolCacheFind),
|
/* harmony export */ "createToolCacheCompleteFile": () => (/* binding */ createToolCacheCompleteFile),
|
||||||
"win2nix": () => (/* binding */ win2nix),
|
/* harmony export */ "win2nix": () => (/* binding */ win2nix),
|
||||||
"windows": () => (/* binding */ windows)
|
/* harmony export */ "setupPath": () => (/* binding */ setupPath)
|
||||||
});
|
/* harmony export */ });
|
||||||
|
|
||||||
;// CONCATENATED MODULE: external "node:os"
|
|
||||||
const external_node_os_namespaceObject = require("node:os");
|
|
||||||
;// CONCATENATED MODULE: ./node_modules/macos-release/index.js
|
|
||||||
|
|
||||||
|
|
||||||
const nameMap = new Map([
|
|
||||||
[23, ['Sonoma', '14']],
|
|
||||||
[22, ['Ventura', '13']],
|
|
||||||
[21, ['Monterey', '12']],
|
|
||||||
[20, ['Big Sur', '11']],
|
|
||||||
[19, ['Catalina', '10.15']],
|
|
||||||
[18, ['Mojave', '10.14']],
|
|
||||||
[17, ['High Sierra', '10.13']],
|
|
||||||
[16, ['Sierra', '10.12']],
|
|
||||||
[15, ['El Capitan', '10.11']],
|
|
||||||
[14, ['Yosemite', '10.10']],
|
|
||||||
[13, ['Mavericks', '10.9']],
|
|
||||||
[12, ['Mountain Lion', '10.8']],
|
|
||||||
[11, ['Lion', '10.7']],
|
|
||||||
[10, ['Snow Leopard', '10.6']],
|
|
||||||
[9, ['Leopard', '10.5']],
|
|
||||||
[8, ['Tiger', '10.4']],
|
|
||||||
[7, ['Panther', '10.3']],
|
|
||||||
[6, ['Jaguar', '10.2']],
|
|
||||||
[5, ['Puma', '10.1']],
|
|
||||||
]);
|
|
||||||
|
|
||||||
function macosRelease(release) {
|
|
||||||
release = Number((release || external_node_os_namespaceObject.release()).split('.')[0]);
|
|
||||||
|
|
||||||
const [name, version] = nameMap.get(release) || ['Unknown', ''];
|
|
||||||
|
|
||||||
return {
|
|
||||||
name,
|
|
||||||
version,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
;// CONCATENATED MODULE: ./common.js
|
|
||||||
const os = __nccwpck_require__(2037)
|
const os = __nccwpck_require__(2037)
|
||||||
const path = __nccwpck_require__(1017)
|
const path = __nccwpck_require__(1017)
|
||||||
const fs = __nccwpck_require__(7147)
|
const fs = __nccwpck_require__(7147)
|
||||||
const util = __nccwpck_require__(3837)
|
const util = __nccwpck_require__(3837)
|
||||||
const stream = __nccwpck_require__(2781)
|
const stream = __nccwpck_require__(2781)
|
||||||
const common_crypto = __nccwpck_require__(6113)
|
const crypto = __nccwpck_require__(6113)
|
||||||
const core = __nccwpck_require__(2186)
|
const core = __nccwpck_require__(2186)
|
||||||
const tc = __nccwpck_require__(7784)
|
const tc = __nccwpck_require__(7784)
|
||||||
const { performance } = __nccwpck_require__(4074)
|
const { performance } = __nccwpck_require__(4074)
|
||||||
const linuxOSInfo = __nccwpck_require__(8487)
|
const linuxOSInfo = __nccwpck_require__(8487)
|
||||||
;
|
|
||||||
|
|
||||||
const windows = (os.platform() === 'win32')
|
const windows = (os.platform() === 'win32')
|
||||||
// Extract to SSD on Windows, see https://github.com/ruby/setup-ruby/pull/14
|
// Extract to SSD on Windows, see https://github.com/ruby/setup-ruby/pull/14
|
||||||
@@ -427,7 +385,7 @@ async function time(name, block) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isHeadVersion(rubyVersion) {
|
function isHeadVersion(rubyVersion) {
|
||||||
return ['head', 'debug', 'mingw', 'mswin', 'ucrt'].includes(rubyVersion)
|
return ['head', 'debug', 'mingw', 'mswin', 'ucrt', 'asan'].includes(rubyVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
function isStableVersion(engine, rubyVersion) {
|
function isStableVersion(engine, rubyVersion) {
|
||||||
@@ -516,79 +474,111 @@ function floatVersion(rubyVersion) {
|
|||||||
|
|
||||||
async function hashFile(file) {
|
async function hashFile(file) {
|
||||||
// See https://github.com/actions/runner/blob/master/src/Misc/expressionFunc/hashFiles/src/hashFiles.ts
|
// See https://github.com/actions/runner/blob/master/src/Misc/expressionFunc/hashFiles/src/hashFiles.ts
|
||||||
const hash = common_crypto.createHash('sha256')
|
const hash = crypto.createHash('sha256')
|
||||||
const pipeline = util.promisify(stream.pipeline)
|
const pipeline = util.promisify(stream.pipeline)
|
||||||
await pipeline(fs.createReadStream(file), hash)
|
await pipeline(fs.createReadStream(file), hash)
|
||||||
return hash.digest('hex')
|
return hash.digest('hex')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// macos is not listed explicitly, see below
|
||||||
const GitHubHostedPlatforms = [
|
const GitHubHostedPlatforms = [
|
||||||
'ubuntu-20.04-x64',
|
'ubuntu-20.04-x64',
|
||||||
'ubuntu-22.04-x64',
|
'ubuntu-22.04-x64',
|
||||||
'ubuntu-24.04-x64',
|
'ubuntu-24.04-x64',
|
||||||
'macos-12-x64',
|
|
||||||
'macos-13-x64',
|
|
||||||
'macos-13-arm64',
|
|
||||||
'macos-14-x64',
|
|
||||||
'macos-14-arm64',
|
|
||||||
'windows-2019-x64',
|
'windows-2019-x64',
|
||||||
'windows-2022-x64',
|
'windows-2022-x64',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
// Precisely: whether we have builds for that platform and there are GitHub-hosted runners to test it
|
||||||
|
function isSupportedPlatform() {
|
||||||
|
const platform = getOSName()
|
||||||
|
switch (platform) {
|
||||||
|
case 'ubuntu':
|
||||||
|
return GitHubHostedPlatforms.includes(getOSNameVersionArch())
|
||||||
|
case 'macos':
|
||||||
|
// See https://github.com/ruby/ruby-builder/blob/master/README.md#naming
|
||||||
|
// 13 on arm64 because of old macos-arm-oss runners
|
||||||
|
return (os.arch() === 'x64' && parseInt(getOSVersion()) >= 12) ||
|
||||||
|
(os.arch() === 'arm64' && parseInt(getOSVersion()) >= 13)
|
||||||
|
case 'windows':
|
||||||
|
return GitHubHostedPlatforms.includes(getOSNameVersionArch())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Actually a self-hosted runner for which the OS and OS version does not correspond to a GitHub-hosted runner image,
|
// Actually a self-hosted runner for which the OS and OS version does not correspond to a GitHub-hosted runner image,
|
||||||
function isSelfHostedRunner() {
|
function isSelfHostedRunner() {
|
||||||
if (inputs.selfHosted === undefined) {
|
if (inputs.selfHosted === undefined) {
|
||||||
throw new Error('inputs.selfHosted should have been already set')
|
throw new Error('inputs.selfHosted should have been already set')
|
||||||
}
|
}
|
||||||
|
|
||||||
return inputs.selfHosted === 'true' ||
|
return inputs.selfHosted === 'true' || !isSupportedPlatform()
|
||||||
!GitHubHostedPlatforms.includes(getOSNameVersionArch())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function selfHostedRunnerReason() {
|
function selfHostedRunnerReason() {
|
||||||
if (inputs.selfHosted === 'true') {
|
if (inputs.selfHosted === 'true') {
|
||||||
return 'the self-hosted input was set'
|
return 'the self-hosted input was set'
|
||||||
} else if (!GitHubHostedPlatforms.includes(getOSNameVersionArch())) {
|
} else if (!isSupportedPlatform()) {
|
||||||
return 'the platform does not match a GitHub-hosted runner image (or that image is deprecated and no longer supported)'
|
return 'the platform does not match a GitHub-hosted runner image (or that image is deprecated and no longer supported)'
|
||||||
} else {
|
} else {
|
||||||
return 'unknown reason'
|
return 'unknown reason'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let osNameVersion = undefined
|
let osName = undefined
|
||||||
|
let osVersion = undefined
|
||||||
|
|
||||||
function getOSNameVersion() {
|
function getOSName() {
|
||||||
if (osNameVersion !== undefined) {
|
if (osName !== undefined) {
|
||||||
return osNameVersion
|
return osName
|
||||||
}
|
}
|
||||||
|
|
||||||
const platform = os.platform()
|
const platform = os.platform()
|
||||||
let osName
|
|
||||||
let osVersion
|
|
||||||
if (platform === 'linux') {
|
if (platform === 'linux') {
|
||||||
const info = linuxOSInfo({mode: 'sync'})
|
const info = linuxOSInfo({mode: 'sync'})
|
||||||
osName = info.id
|
osName = info.id
|
||||||
osVersion = info.version_id
|
|
||||||
} else if (platform === 'darwin') {
|
} else if (platform === 'darwin') {
|
||||||
osName = 'macos'
|
osName = 'macos'
|
||||||
osVersion = macosRelease().version
|
|
||||||
} else if (platform === 'win32') {
|
} else if (platform === 'win32') {
|
||||||
osName = 'windows'
|
osName = 'windows'
|
||||||
|
} else {
|
||||||
|
throw new Error(`Unknown platform ${platform}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
return osName
|
||||||
|
}
|
||||||
|
|
||||||
|
function getOSVersion() {
|
||||||
|
if (osVersion !== undefined) {
|
||||||
|
return osVersion
|
||||||
|
}
|
||||||
|
|
||||||
|
const platform = os.platform()
|
||||||
|
if (platform === 'linux') {
|
||||||
|
const info = linuxOSInfo({mode: 'sync'})
|
||||||
|
osVersion = info.version_id
|
||||||
|
} else if (platform === 'darwin') {
|
||||||
|
// See https://github.com/sindresorhus/macos-release/blob/main/index.js
|
||||||
|
const darwinVersion = parseInt(os.release().match(/^\d+/)[0])
|
||||||
|
osVersion = `${darwinVersion - 9}`
|
||||||
|
} else if (platform === 'win32') {
|
||||||
osVersion = findWindowsVersion()
|
osVersion = findWindowsVersion()
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`Unknown platform ${platform}`)
|
throw new Error(`Unknown platform ${platform}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
osNameVersion = `${osName}-${osVersion}`
|
return osVersion
|
||||||
return osNameVersion
|
}
|
||||||
|
|
||||||
|
function getOSNameVersion() {
|
||||||
|
return `${getOSName()}-${getOSVersion()}`
|
||||||
}
|
}
|
||||||
|
|
||||||
function getOSNameVersionArch() {
|
function getOSNameVersionArch() {
|
||||||
return `${getOSNameVersion()}-${os.arch()}`
|
return `${getOSName()}-${getOSVersion()}-${os.arch()}`
|
||||||
}
|
}
|
||||||
|
|
||||||
function findWindowsVersion() {
|
function findWindowsVersion() {
|
||||||
const version = os.version();
|
const version = os.version()
|
||||||
const match = version.match(/^Windows Server (\d+) Datacenter/)
|
const match = version.match(/^Windows Server (\d+) Datacenter/)
|
||||||
if (match) {
|
if (match) {
|
||||||
return match[1]
|
return match[1]
|
||||||
@@ -621,15 +611,14 @@ function getRunnerToolCache() {
|
|||||||
|
|
||||||
// Rubies prebuilt by this action embed this path rather than using $RUNNER_TOOL_CACHE
|
// Rubies prebuilt by this action embed this path rather than using $RUNNER_TOOL_CACHE
|
||||||
function getDefaultToolCachePath() {
|
function getDefaultToolCachePath() {
|
||||||
const platform = getOSNameVersion()
|
const platform = getOSName()
|
||||||
if (platform.startsWith('ubuntu-')) {
|
switch (platform) {
|
||||||
return '/opt/hostedtoolcache'
|
case 'ubuntu':
|
||||||
} else if (platform.startsWith('macos-')) {
|
return '/opt/hostedtoolcache'
|
||||||
return '/Users/runner/hostedtoolcache'
|
case 'macos':
|
||||||
} else if (platform.startsWith('windows-')) {
|
return '/Users/runner/hostedtoolcache'
|
||||||
return 'C:\\hostedtoolcache\\windows'
|
case 'windows':
|
||||||
} else {
|
return 'C:\\hostedtoolcache\\windows'
|
||||||
throw new Error('Unknown platform')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64961,7 +64950,7 @@ const core = __nccwpck_require__(2186)
|
|||||||
const exec = __nccwpck_require__(1514)
|
const exec = __nccwpck_require__(1514)
|
||||||
const io = __nccwpck_require__(7436)
|
const io = __nccwpck_require__(7436)
|
||||||
const tc = __nccwpck_require__(7784)
|
const tc = __nccwpck_require__(7784)
|
||||||
const common = __nccwpck_require__(3143)
|
const common = __nccwpck_require__(4717)
|
||||||
const rubyBuilderVersions = __nccwpck_require__(5959)
|
const rubyBuilderVersions = __nccwpck_require__(5959)
|
||||||
|
|
||||||
const builderReleaseTag = 'toolcache'
|
const builderReleaseTag = 'toolcache'
|
||||||
@@ -65090,7 +65079,7 @@ __nccwpck_require__.r(__webpack_exports__);
|
|||||||
/* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
|
/* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
|
||||||
/* harmony export */ "rubygemsUpdate": () => (/* binding */ rubygemsUpdate)
|
/* harmony export */ "rubygemsUpdate": () => (/* binding */ rubygemsUpdate)
|
||||||
/* harmony export */ });
|
/* harmony export */ });
|
||||||
const common = __nccwpck_require__(3143)
|
const common = __nccwpck_require__(4717)
|
||||||
const path = __nccwpck_require__(1017)
|
const path = __nccwpck_require__(1017)
|
||||||
const exec = __nccwpck_require__(1514)
|
const exec = __nccwpck_require__(1514)
|
||||||
const semver = __nccwpck_require__(1383)
|
const semver = __nccwpck_require__(1383)
|
||||||
@@ -65175,7 +65164,7 @@ const core = __nccwpck_require__(2186)
|
|||||||
const exec = __nccwpck_require__(1514)
|
const exec = __nccwpck_require__(1514)
|
||||||
const io = __nccwpck_require__(7436)
|
const io = __nccwpck_require__(7436)
|
||||||
const tc = __nccwpck_require__(7784)
|
const tc = __nccwpck_require__(7784)
|
||||||
const common = __nccwpck_require__(3143)
|
const common = __nccwpck_require__(4717)
|
||||||
const rubyInstallerVersions = __nccwpck_require__(6459)
|
const rubyInstallerVersions = __nccwpck_require__(6459)
|
||||||
|
|
||||||
const drive = common.drive
|
const drive = common.drive
|
||||||
@@ -65645,7 +65634,7 @@ module.exports = JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"]
|
|||||||
/***/ ((module) => {
|
/***/ ((module) => {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
module.exports = JSON.parse('{"ruby":["1.9.3-p551","2.0.0-p648","2.1.9","2.2.10","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.4.7","2.4.9","2.4.10","2.5.0","2.5.1","2.5.2","2.5.3","2.5.4","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.6.0","2.6.1","2.6.2","2.6.3","2.6.4","2.6.5","2.6.6","2.6.7","2.6.8","2.6.9","2.6.10","2.7.0","2.7.1","2.7.2","2.7.3","2.7.4","2.7.5","2.7.6","2.7.7","2.7.8","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.0.6","3.0.7","3.1.0-preview1","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.2.0-preview1","3.2.0-preview2","3.2.0-preview3","3.2.0-rc1","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","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.4.0-preview1","head","debug"],"jruby":["9.1.17.0","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","head"],"truffleruby":["19.3.0","19.3.1","20.0.0","20.1.0","20.2.0","20.3.0","21.0.0","21.1.0","21.2.0","21.2.0.1","21.3.0","22.0.0.2","22.1.0","22.2.0","22.3.0","22.3.1","23.0.0-preview1","23.0.0","23.1.0","23.1.1","23.1.2","24.0.0","24.0.1","24.0.2","24.1.0","head"],"truffleruby+graalvm":["21.2.0","21.3.0","22.0.0.2","22.1.0","22.2.0","22.3.0","22.3.1","23.0.0-preview1","23.0.0","23.1.0","23.1.1","23.1.2","24.0.0","24.0.1","24.0.2","24.1.0","head"]}');
|
module.exports = JSON.parse('{"ruby":["1.9.3-p551","2.0.0-p648","2.1.9","2.2.10","2.3.0","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.4.0","2.4.1","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.4.7","2.4.9","2.4.10","2.5.0","2.5.1","2.5.2","2.5.3","2.5.4","2.5.5","2.5.6","2.5.7","2.5.8","2.5.9","2.6.0","2.6.1","2.6.2","2.6.3","2.6.4","2.6.5","2.6.6","2.6.7","2.6.8","2.6.9","2.6.10","2.7.0","2.7.1","2.7.2","2.7.3","2.7.4","2.7.5","2.7.6","2.7.7","2.7.8","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.0.6","3.0.7","3.1.0-preview1","3.1.0","3.1.1","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.2.0-preview1","3.2.0-preview2","3.2.0-preview3","3.2.0-rc1","3.2.0","3.2.1","3.2.2","3.2.3","3.2.4","3.2.5","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.4.0-preview1","3.4.0-preview2","head","debug","asan"],"jruby":["9.1.17.0","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","head"],"truffleruby":["19.3.0","19.3.1","20.0.0","20.1.0","20.2.0","20.3.0","21.0.0","21.1.0","21.2.0","21.2.0.1","21.3.0","22.0.0.2","22.1.0","22.2.0","22.3.0","22.3.1","23.0.0-preview1","23.0.0","23.1.0","23.1.1","23.1.2","24.0.0","24.0.1","24.0.2","24.1.0","24.1.1","head"],"truffleruby+graalvm":["21.2.0","21.3.0","22.0.0.2","22.1.0","22.2.0","22.3.0","22.3.1","23.0.0-preview1","23.0.0","23.1.0","23.1.1","23.1.2","24.0.0","24.0.1","24.0.2","24.1.0","24.1.1","head"]}');
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
@@ -65737,7 +65726,7 @@ const fs = __nccwpck_require__(7147)
|
|||||||
const path = __nccwpck_require__(1017)
|
const path = __nccwpck_require__(1017)
|
||||||
const core = __nccwpck_require__(2186)
|
const core = __nccwpck_require__(2186)
|
||||||
const exec = __nccwpck_require__(1514)
|
const exec = __nccwpck_require__(1514)
|
||||||
const common = __nccwpck_require__(3143)
|
const common = __nccwpck_require__(4717)
|
||||||
const rubygems = __nccwpck_require__(160)
|
const rubygems = __nccwpck_require__(160)
|
||||||
const bundler = __nccwpck_require__(1641)
|
const bundler = __nccwpck_require__(1641)
|
||||||
|
|
||||||
@@ -65924,6 +65913,8 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe
|
|||||||
- { os: macos-13, ruby: '2.5' }
|
- { os: macos-13, ruby: '2.5' }
|
||||||
|
|
||||||
But of course you should consider dropping support for these long-EOL Rubies, which cannot even be built on recent macOS machines.`)
|
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.')
|
||||||
}
|
}
|
||||||
|
|
||||||
return version
|
return version
|
||||||
|
|||||||
@@ -190,6 +190,8 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe
|
|||||||
- { os: macos-13, ruby: '2.5' }
|
- { os: macos-13, ruby: '2.5' }
|
||||||
|
|
||||||
But of course you should consider dropping support for these long-EOL Rubies, which cannot even be built on recent macOS machines.`)
|
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.')
|
||||||
}
|
}
|
||||||
|
|
||||||
return version
|
return version
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
"@actions/io": "^1.1.2",
|
"@actions/io": "^1.1.2",
|
||||||
"@actions/tool-cache": "^2",
|
"@actions/tool-cache": "^2",
|
||||||
"linux-os-info": "^2.0.0",
|
"linux-os-info": "^2.0.0",
|
||||||
"macos-release": "^3.1.0",
|
|
||||||
"semver": "^7.3.7"
|
"semver": "^7.3.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
"3.1.0-preview1", "3.1.0", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6",
|
"3.1.0-preview1", "3.1.0", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6",
|
||||||
"3.2.0-preview1", "3.2.0-preview2", "3.2.0-preview3", "3.2.0-rc1", "3.2.0", "3.2.1", "3.2.2", "3.2.3", "3.2.4", "3.2.5",
|
"3.2.0-preview1", "3.2.0-preview2", "3.2.0-preview3", "3.2.0-rc1", "3.2.0", "3.2.1", "3.2.2", "3.2.3", "3.2.4", "3.2.5",
|
||||||
"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.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.4.0-preview1",
|
"3.4.0-preview1", "3.4.0-preview2",
|
||||||
"head", "debug"
|
"head", "debug", "asan"
|
||||||
],
|
],
|
||||||
"jruby": [
|
"jruby": [
|
||||||
"9.1.17.0",
|
"9.1.17.0",
|
||||||
@@ -29,14 +29,14 @@
|
|||||||
"21.0.0", "21.1.0", "21.2.0", "21.2.0.1", "21.3.0",
|
"21.0.0", "21.1.0", "21.2.0", "21.2.0.1", "21.3.0",
|
||||||
"22.0.0.2", "22.1.0", "22.2.0", "22.3.0", "22.3.1",
|
"22.0.0.2", "22.1.0", "22.2.0", "22.3.0", "22.3.1",
|
||||||
"23.0.0-preview1", "23.0.0", "23.1.0", "23.1.1", "23.1.2",
|
"23.0.0-preview1", "23.0.0", "23.1.0", "23.1.1", "23.1.2",
|
||||||
"24.0.0", "24.0.1", "24.0.2", "24.1.0",
|
"24.0.0", "24.0.1", "24.0.2", "24.1.0", "24.1.1",
|
||||||
"head"
|
"head"
|
||||||
],
|
],
|
||||||
"truffleruby+graalvm": [
|
"truffleruby+graalvm": [
|
||||||
"21.2.0", "21.3.0",
|
"21.2.0", "21.3.0",
|
||||||
"22.0.0.2", "22.1.0", "22.2.0", "22.3.0", "22.3.1",
|
"22.0.0.2", "22.1.0", "22.2.0", "22.3.0", "22.3.1",
|
||||||
"23.0.0-preview1", "23.0.0", "23.1.0", "23.1.1", "23.1.2",
|
"23.0.0-preview1", "23.0.0", "23.1.0", "23.1.1", "23.1.2",
|
||||||
"24.0.0", "24.0.1", "24.0.2", "24.1.0",
|
"24.0.0", "24.0.1", "24.0.2", "24.1.0", "24.1.1",
|
||||||
"head"
|
"head"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -281,11 +281,6 @@ lru-cache@^6.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
yallist "^4.0.0"
|
yallist "^4.0.0"
|
||||||
|
|
||||||
macos-release@^3.1.0:
|
|
||||||
version "3.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-3.2.0.tgz#dcee82b6a4932971b1538dbf6f3aabc4a903b613"
|
|
||||||
integrity sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==
|
|
||||||
|
|
||||||
mime-db@1.52.0:
|
mime-db@1.52.0:
|
||||||
version "1.52.0"
|
version "1.52.0"
|
||||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||||
|
|||||||
Reference in New Issue
Block a user