From 9a9fe58c47b8bca3b707c7a46d0c67c4a3fe6d89 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Wed, 20 Nov 2024 20:58:51 +0100 Subject: [PATCH 1/4] Clarify all macOS versions from 12 are supported --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c1731d34..001fa751d 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ The action works on these [GitHub-hosted runners](https://docs.github.com/en/act | Operating System | Supported | | ---------------- | --------- | | Ubuntu | `ubuntu-20.04`, `ubuntu-22.04`, `ubuntu-24.04` | -| macOS | `macos-12`, `macos-13`, `macos-14` | +| macOS | `macos-12+` | | Windows | `windows-2019`, `windows-2022` | The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder) From 6825c765eb33355054208d865dd846da7da6584f Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Thu, 21 Nov 2024 14:11:38 +0100 Subject: [PATCH 2/4] Clarify --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 001fa751d..75e63f639 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ The action works on these [GitHub-hosted runners](https://docs.github.com/en/act | Operating System | Supported | | ---------------- | --------- | | Ubuntu | `ubuntu-20.04`, `ubuntu-22.04`, `ubuntu-24.04` | -| macOS | `macos-12+` | +| macOS | `macos-12` and newer versions | | Windows | `windows-2019`, `windows-2022` | The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder) From 2e3487c00ef7a9b36871f6c915e07bc6dc783494 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Fri, 6 Dec 2024 22:29:00 +0100 Subject: [PATCH 3/4] No more macos-12 runners, minimum for macos-amd64 is now macos-13 --- .github/workflows/test.yml | 2 +- README.md | 2 +- dist/index.js | 8 +------- index.js | 2 +- ruby-builder.js | 6 ------ 5 files changed, 4 insertions(+), 16 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0cad58e66..e7da0d2f7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-12, macos-13, macos-14, macos-15, windows-2019, windows-2022 ] + os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-13, macos-14, macos-15, 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', '3.2', '3.3', '3.4', ruby-head, jruby, jruby-head, diff --git a/README.md b/README.md index 75e63f639..537e81618 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ The action works on these [GitHub-hosted runners](https://docs.github.com/en/act | Operating System | Supported | | ---------------- | --------- | | Ubuntu | `ubuntu-20.04`, `ubuntu-22.04`, `ubuntu-24.04` | -| macOS | `macos-12` and newer versions | +| macOS | `macos-13` and newer versions | | Windows | `windows-2019`, `windows-2022` | The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder) diff --git a/dist/index.js b/dist/index.js index f6ef2ac87..8979c4ba2 100644 --- a/dist/index.js +++ b/dist/index.js @@ -64999,12 +64999,6 @@ async function install(platform, engine, version) { await downloadAndExtract(platform, engine, version, rubyPrefix) } - // https://github.com/oracle/truffleruby/issues/3390 - if (engine.startsWith('truffleruby') && common.floatVersion(version) >= 24.0 && !common.isSelfHostedRunner() && common.getOSNameVersionArch() === 'macos-12-x64') { - console.log('Setting MACOSX_DEPLOYMENT_TARGET=11.0 to workaround bug in XCode 14.2 linker not respecting RTLD_LAZY, see https://github.com/oracle/truffleruby/issues/3390') - core.exportVariable('MACOSX_DEPLOYMENT_TARGET', '11.0') - } - return rubyPrefix } @@ -65896,7 +65890,7 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe // Well known version-platform combinations which do not work: if (engine === 'ruby' && platform.startsWith('macos') && os.arch() === 'arm64' && common.floatVersion(version) < 2.6) { throw new Error(`CRuby < 2.6 does not support macos-arm64. - Either use a newer Ruby version or use a macOS image running on amd64, e.g., macos-13 or macos-12. + Either use a newer Ruby version or use a macOS image running on amd64, e.g., macos-13. Note that GitHub changed the meaning of macos-latest from macos-12 (amd64) to macos-14 (arm64): https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image/ diff --git a/index.js b/index.js index 599109dd4..eb71b4ed2 100644 --- a/index.js +++ b/index.js @@ -173,7 +173,7 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe // Well known version-platform combinations which do not work: if (engine === 'ruby' && platform.startsWith('macos') && os.arch() === 'arm64' && common.floatVersion(version) < 2.6) { throw new Error(`CRuby < 2.6 does not support macos-arm64. - Either use a newer Ruby version or use a macOS image running on amd64, e.g., macos-13 or macos-12. + Either use a newer Ruby version or use a macOS image running on amd64, e.g., macos-13. Note that GitHub changed the meaning of macos-latest from macos-12 (amd64) to macos-14 (arm64): https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image/ diff --git a/ruby-builder.js b/ruby-builder.js index 06a81e0ce..dcafe620c 100644 --- a/ruby-builder.js +++ b/ruby-builder.js @@ -54,12 +54,6 @@ export async function install(platform, engine, version) { await downloadAndExtract(platform, engine, version, rubyPrefix) } - // https://github.com/oracle/truffleruby/issues/3390 - if (engine.startsWith('truffleruby') && common.floatVersion(version) >= 24.0 && !common.isSelfHostedRunner() && common.getOSNameVersionArch() === 'macos-12-x64') { - console.log('Setting MACOSX_DEPLOYMENT_TARGET=11.0 to workaround bug in XCode 14.2 linker not respecting RTLD_LAZY, see https://github.com/oracle/truffleruby/issues/3390') - core.exportVariable('MACOSX_DEPLOYMENT_TARGET', '11.0') - } - return rubyPrefix } From 2a18b06812b0e15bb916e1df298d3e740422c47e Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Fri, 6 Dec 2024 22:33:53 +0100 Subject: [PATCH 4/4] Require macos-13+ for macos-amd64 as builds from now on will be on 13 and 12 can no longer be tested --- common.js | 2 +- dist/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common.js b/common.js index d2399579b..cb2819d36 100644 --- a/common.js +++ b/common.js @@ -179,7 +179,7 @@ function isSupportedPlatform() { 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) || + return (os.arch() === 'x64' && parseInt(getOSVersion()) >= 13) || (os.arch() === 'arm64' && parseInt(getOSVersion()) >= 13) case 'windows': return GitHubHostedPlatforms.includes(getOSNameVersionArch()) diff --git a/dist/index.js b/dist/index.js index 8979c4ba2..850fa021d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -498,7 +498,7 @@ function isSupportedPlatform() { 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) || + return (os.arch() === 'x64' && parseInt(getOSVersion()) >= 13) || (os.arch() === 'arm64' && parseInt(getOSVersion()) >= 13) case 'windows': return GitHubHostedPlatforms.includes(getOSNameVersionArch())