Compare commits

...
4 Commits
Author SHA1 Message Date
Benoit Daloze c04af2bb72 Replace macos-release by (parseInt(os.version()) - 9)
* That way we don't need to update that dependency to work with newer macOS releases.
2024-09-25 22:01:07 +02:00
Benoit Daloze 17f5c914a0 Add support for macos-15 and all future macos runners
* Fixes https://github.com/ruby/setup-ruby/issues/647
2024-09-25 22:00:58 +02:00
Benoit Daloze 5496baa6db Update macos-release to 3.3.0 so it recognizes macos-15 2024-09-25 21:40:23 +02:00
Benoit Daloze 0ec4904dc7 Better error for TruffleRuby on Windows
* Fixes https://github.com/ruby/setup-ruby/issues/619
2024-09-25 21:02:29 +02:00
6 changed files with 173 additions and 149 deletions
+9 -2
View File
@@ -17,7 +17,7 @@ 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', ruby-head,
jruby, jruby-head, jruby, jruby-head,
@@ -35,7 +35,7 @@ jobs:
- { 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,6 +43,13 @@ 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' }
- { 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 # Windows
- { os: windows-2019, ruby: '1.9' } - { os: windows-2019, ruby: '1.9' }
- { os: windows-2019, ruby: debug } - { os: windows-2019, ruby: debug }
+60 -30
View File
@@ -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
@@ -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')
} }
} }
Generated Vendored
+102 -111
View File
@@ -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
@@ -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
@@ -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
+2
View File
@@ -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
-1
View File
@@ -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": {
Generated
-5
View File
@@ -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"