mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-14 15:04:20 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4f8389190 | ||
|
|
d4ef88eccb | ||
|
|
e851ebd3ad |
@@ -17,7 +17,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm, macos-13, macos-14, macos-15, windows-2019, windows-2022, windows-2025, windows-11-arm ]
|
os: [ ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm, macos-13, macos-14, macos-15, windows-2022, windows-2025, windows-11-arm ]
|
||||||
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', '3.4', 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,
|
||||||
@@ -25,8 +25,6 @@ jobs:
|
|||||||
truffleruby+graalvm, truffleruby+graalvm-head
|
truffleruby+graalvm, truffleruby+graalvm-head
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- { os: windows-2019, ruby: mingw }
|
|
||||||
- { os: windows-2019, ruby: mswin }
|
|
||||||
- { 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 }
|
||||||
@@ -81,24 +79,19 @@ jobs:
|
|||||||
- { os: windows-11-arm, ruby: jruby }
|
- { os: windows-11-arm, ruby: jruby }
|
||||||
- { os: windows-11-arm, ruby: jruby-head }
|
- { os: windows-11-arm, ruby: jruby-head }
|
||||||
# RubyInstaller has no 64-bit builds of 1.9 on Windows
|
# RubyInstaller has no 64-bit builds of 1.9 on Windows
|
||||||
- { os: windows-2019, ruby: '1.9' }
|
|
||||||
- { os: windows-2022, ruby: '1.9' }
|
- { os: windows-2022, ruby: '1.9' }
|
||||||
- { os: windows-2025, ruby: '1.9' }
|
- { os: windows-2025, ruby: '1.9' }
|
||||||
- { os: windows-11-arm, ruby: '1.9' }
|
- { os: windows-11-arm, ruby: '1.9' }
|
||||||
# TruffleRuby does not support Windows
|
# TruffleRuby does not support Windows
|
||||||
- { os: windows-2019, ruby: truffleruby }
|
|
||||||
- { os: windows-2022, ruby: truffleruby }
|
- { os: windows-2022, ruby: truffleruby }
|
||||||
- { os: windows-2025, ruby: truffleruby }
|
- { os: windows-2025, ruby: truffleruby }
|
||||||
- { os: windows-11-arm, ruby: truffleruby }
|
- { os: windows-11-arm, ruby: truffleruby }
|
||||||
- { os: windows-2019, ruby: truffleruby-head }
|
|
||||||
- { os: windows-2022, ruby: truffleruby-head }
|
- { os: windows-2022, ruby: truffleruby-head }
|
||||||
- { os: windows-2025, ruby: truffleruby-head }
|
- { os: windows-2025, ruby: truffleruby-head }
|
||||||
- { os: windows-11-arm, ruby: truffleruby-head }
|
- { os: windows-11-arm, ruby: truffleruby-head }
|
||||||
- { os: windows-2019, ruby: truffleruby+graalvm }
|
|
||||||
- { os: windows-2022, ruby: truffleruby+graalvm }
|
- { os: windows-2022, ruby: truffleruby+graalvm }
|
||||||
- { os: windows-2025, ruby: truffleruby+graalvm }
|
- { os: windows-2025, ruby: truffleruby+graalvm }
|
||||||
- { os: windows-11-arm, ruby: truffleruby+graalvm }
|
- { os: windows-11-arm, ruby: truffleruby+graalvm }
|
||||||
- { os: windows-2019, ruby: truffleruby+graalvm-head }
|
|
||||||
- { os: windows-2022, ruby: truffleruby+graalvm-head }
|
- { os: windows-2022, ruby: truffleruby+graalvm-head }
|
||||||
- { os: windows-2025, ruby: truffleruby+graalvm-head }
|
- { os: windows-2025, ruby: truffleruby+graalvm-head }
|
||||||
- { os: windows-11-arm, ruby: truffleruby+graalvm-head }
|
- { os: windows-11-arm, ruby: truffleruby+graalvm-head }
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ The action works on these [GitHub-hosted runners](https://docs.github.com/en/act
|
|||||||
| ---------------- | --------- |
|
| ---------------- | --------- |
|
||||||
| Ubuntu | `ubuntu-22.04`, `ubuntu-24.04`, `ubuntu-22.04-arm`, `ubuntu-24.04-arm` |
|
| Ubuntu | `ubuntu-22.04`, `ubuntu-24.04`, `ubuntu-22.04-arm`, `ubuntu-24.04-arm` |
|
||||||
| macOS | `macos-13` and newer versions |
|
| macOS | `macos-13` and newer versions |
|
||||||
| Windows | `windows-2019`, `windows-2022`, `windows-2025`, `windows-11-arm` |
|
| Windows | `windows-2022`, `windows-2025`, `windows-11-arm` |
|
||||||
|
|
||||||
Not all combinations of runner images and versions are supported.
|
Not all combinations of runner images and versions are supported.
|
||||||
The list of available Ruby versions can be seen in [ruby-builder-versions.json](ruby-builder-versions.json) for Ubuntu and macOS
|
The list of available Ruby versions can be seen in [ruby-builder-versions.json](ruby-builder-versions.json) for Ubuntu and macOS
|
||||||
@@ -243,7 +243,7 @@ It is recommended to first get your build working on Ubuntu and macOS before try
|
|||||||
* For Ruby < 2.4, the DevKit MSYS tools are installed and prepended to the `Path`.
|
* For Ruby < 2.4, the DevKit MSYS tools are installed and prepended to the `Path`.
|
||||||
* Use JRuby 9.2.20+ on Windows (older versions have [bugs](https://github.com/ruby/setup-ruby/issues/18#issuecomment-889072695)).
|
* Use JRuby 9.2.20+ on Windows (older versions have [bugs](https://github.com/ruby/setup-ruby/issues/18#issuecomment-889072695)).
|
||||||
* JRuby on Windows has multiple issues ([jruby/jruby#7106](https://github.com/jruby/jruby/issues/7106), [jruby/jruby#7182](https://github.com/jruby/jruby/issues/7182)).
|
* JRuby on Windows has multiple issues ([jruby/jruby#7106](https://github.com/jruby/jruby/issues/7106), [jruby/jruby#7182](https://github.com/jruby/jruby/issues/7182)).
|
||||||
* When compiling extension code, note that the packages required to build Ruby are included when using Windows 2022, but that Windows 2019 does not include all of them, and may require installing package(s). This can be done with [setup-ruby-pkgs](https://github.com/ruby/setup-ruby-pkgs) or via MSYS2's pacman. These packages may be required when installing or updating Ruby std-lib extension gems.
|
* When compiling extension code, note that the packages required to build Ruby are included when using Windows 2022. Additional packages can be installed with [setup-ruby-pkgs](https://github.com/ruby/setup-ruby-pkgs) or via MSYS2's `pacman`. These packages may be required when installing or updating Ruby stdlib extension gems.
|
||||||
|
|
||||||
## Versioning
|
## Versioning
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -182,7 +182,7 @@ export async function bundleInstall(gemfile, lockFile, platform, engine, rubyVer
|
|||||||
|
|
||||||
// cache key
|
// cache key
|
||||||
const paths = [cachePath]
|
const paths = [cachePath]
|
||||||
const baseKey = await computeBaseKey(platform, engine, rubyVersion, lockFile, cacheVersion)
|
const baseKey = await computeBaseKey(engine, rubyVersion, lockFile, cacheVersion)
|
||||||
const key = `${baseKey}-${await common.hashFile(lockFile)}`
|
const key = `${baseKey}-${await common.hashFile(lockFile)}`
|
||||||
// If only Gemfile.lock changes we can reuse part of the cache, and clean old gem versions below
|
// If only Gemfile.lock changes we can reuse part of the cache, and clean old gem versions below
|
||||||
const restoreKeys = [`${baseKey}-`]
|
const restoreKeys = [`${baseKey}-`]
|
||||||
@@ -232,7 +232,7 @@ export async function bundleInstall(gemfile, lockFile, platform, engine, rubyVer
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
async function computeBaseKey(platform, engine, version, lockFile, cacheVersion) {
|
async function computeBaseKey(engine, version, lockFile, cacheVersion) {
|
||||||
const cwd = process.cwd()
|
const cwd = process.cwd()
|
||||||
const bundleWith = process.env['BUNDLE_WITH'] || ''
|
const bundleWith = process.env['BUNDLE_WITH'] || ''
|
||||||
const bundleWithout = process.env['BUNDLE_WITHOUT'] || ''
|
const bundleWithout = process.env['BUNDLE_WITHOUT'] || ''
|
||||||
|
|||||||
@@ -175,7 +175,6 @@ const GitHubHostedPlatforms = [
|
|||||||
'ubuntu-22.04-arm64',
|
'ubuntu-22.04-arm64',
|
||||||
'ubuntu-24.04-x64',
|
'ubuntu-24.04-x64',
|
||||||
'ubuntu-24.04-arm64',
|
'ubuntu-24.04-arm64',
|
||||||
'windows-2019-x64',
|
|
||||||
'windows-2022-x64',
|
'windows-2022-x64',
|
||||||
'windows-2025-x64',
|
'windows-2025-x64',
|
||||||
'windows-11-arm64'
|
'windows-11-arm64'
|
||||||
|
|||||||
+3
-4
@@ -196,7 +196,7 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
|||||||
|
|
||||||
// cache key
|
// cache key
|
||||||
const paths = [cachePath]
|
const paths = [cachePath]
|
||||||
const baseKey = await computeBaseKey(platform, engine, rubyVersion, lockFile, cacheVersion)
|
const baseKey = await computeBaseKey(engine, rubyVersion, lockFile, cacheVersion)
|
||||||
const key = `${baseKey}-${await common.hashFile(lockFile)}`
|
const key = `${baseKey}-${await common.hashFile(lockFile)}`
|
||||||
// If only Gemfile.lock changes we can reuse part of the cache, and clean old gem versions below
|
// If only Gemfile.lock changes we can reuse part of the cache, and clean old gem versions below
|
||||||
const restoreKeys = [`${baseKey}-`]
|
const restoreKeys = [`${baseKey}-`]
|
||||||
@@ -246,7 +246,7 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
async function computeBaseKey(platform, engine, version, lockFile, cacheVersion) {
|
async function computeBaseKey(engine, version, lockFile, cacheVersion) {
|
||||||
const cwd = process.cwd()
|
const cwd = process.cwd()
|
||||||
const bundleWith = process.env['BUNDLE_WITH'] || ''
|
const bundleWith = process.env['BUNDLE_WITH'] || ''
|
||||||
const bundleWithout = process.env['BUNDLE_WITHOUT'] || ''
|
const bundleWithout = process.env['BUNDLE_WITHOUT'] || ''
|
||||||
@@ -495,7 +495,6 @@ const GitHubHostedPlatforms = [
|
|||||||
'ubuntu-22.04-arm64',
|
'ubuntu-22.04-arm64',
|
||||||
'ubuntu-24.04-x64',
|
'ubuntu-24.04-x64',
|
||||||
'ubuntu-24.04-arm64',
|
'ubuntu-24.04-arm64',
|
||||||
'windows-2019-x64',
|
|
||||||
'windows-2022-x64',
|
'windows-2022-x64',
|
||||||
'windows-2025-x64',
|
'windows-2025-x64',
|
||||||
'windows-11-arm64'
|
'windows-11-arm64'
|
||||||
@@ -85157,7 +85156,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"4.
|
|||||||
/***/ ((module) => {
|
/***/ ((module) => {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
module.exports = /*#__PURE__*/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.1.7","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.6","3.2.7","3.2.8","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.6","3.3.7","3.3.8","3.4.0-preview1","3.4.0-preview2","3.4.0-rc1","3.4.0","3.4.1","3.4.2","3.4.3","3.4.4","3.5.0-preview1","head","debug","asan","3.4-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","9.4.9.0","9.4.10.0","9.4.11.0","9.4.12.0","9.4.12.1","9.4.13.0","10.0.0.0","10.0.0.1","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","24.1.2","24.2.0","24.2.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","24.1.2","24.2.0","24.2.1","head"]}');
|
module.exports = /*#__PURE__*/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.1.7","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.6","3.2.7","3.2.8","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.6","3.3.7","3.3.8","3.4.0-preview1","3.4.0-preview2","3.4.0-rc1","3.4.0","3.4.1","3.4.2","3.4.3","3.4.4","3.4.5","3.5.0-preview1","head","debug","asan","3.4-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","9.4.9.0","9.4.10.0","9.4.11.0","9.4.12.0","9.4.12.1","9.4.13.0","10.0.0.0","10.0.0.1","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","24.1.2","24.2.0","24.2.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","24.1.2","24.2.0","24.2.1","head"]}');
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,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.1.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.1.7",
|
||||||
"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.6", "3.2.7", "3.2.8",
|
"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.6", "3.2.7", "3.2.8",
|
||||||
"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.6", "3.3.7", "3.3.8",
|
"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.6", "3.3.7", "3.3.8",
|
||||||
"3.4.0-preview1", "3.4.0-preview2", "3.4.0-rc1", "3.4.0", "3.4.1", "3.4.2", "3.4.3", "3.4.4",
|
"3.4.0-preview1", "3.4.0-preview2", "3.4.0-rc1", "3.4.0", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5",
|
||||||
"3.5.0-preview1",
|
"3.5.0-preview1",
|
||||||
"head", "debug", "asan", "3.4-asan"
|
"head", "debug", "asan", "3.4-asan"
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user