Compare commits

...
44 Commits
Author SHA1 Message Date
ruby-builder-bot 161cd54b69 Update CRuby releases on Windows 2024-07-10 23:01:53 +02:00
ruby-builder-bot 2a9a743e19 Add ruby-3.3.4 2024-07-09 17:13:03 +02:00
Benoit Daloze 3a77c29278 Fix updating the v1 branch on automated releases
* Fixes https://github.com/ruby/setup-ruby/issues/618
2024-07-06 11:54:45 +02:00
Hiroshi SHIBATA 382d786c8a Removed macos-arm-oss from GitHub Actions 2024-07-05 12:11:07 +02:00
ruby-builder-bot 97e35c5302 Add jruby-9.4.8.0 2024-07-03 10:42:25 +02:00
Benoit Daloze 1d0e911f61 Fully remove macos-11 since new builds will be on macos-12 2024-06-30 12:49:37 +02:00
Benoit Daloze c48bc1e88d macos-11 is no longer available 2024-06-30 12:41:55 +02:00
Benoit Daloze 713e0f1ab5 Update CONTRIBUTING.md 2024-06-27 15:46:14 +02:00
Benoit Daloze af43264f2b GH_REPO and GH_TOKEN must be set 2024-06-27 15:41:42 +02:00
Benoit Daloze 3251c5c21b Add workflow to automatically create a release 2024-06-27 15:23:12 +02:00
ruby-builder-bot 21a479f2d7 Add jruby-9.3.15.0 2024-06-27 15:01:18 +02:00
ruby-builder-bot 3783f195e2 Update CRuby releases on Windows 2024-06-17 20:49:34 +02:00
ruby-builder-bot ff740bc00a Add ruby-3.3.3 2024-06-12 11:56:31 +02:00
Benoit Daloze 78c01b705f Improve error message for CRuby < 2.6 on macos-arm64
* Is this the best error message ever?
2024-06-08 13:39:56 +02:00
ruby-builder-bot d5fb7a202f Update CRuby releases on Windows 2024-06-03 12:03:15 +02:00
Benoit Daloze 0cde4689ba Clearer 2024-05-30 15:10:04 +02:00
Benoit Daloze a56d16ef33 Refine errors text 2024-05-30 15:06:36 +02:00
Benoit Daloze 12dfa2bb47 Better error for 404 2024-05-30 15:01:16 +02:00
Benoit Daloze 68b705993a Fix condition 2024-05-30 14:47:21 +02:00
Benoit Daloze d046db60e3 Fail clearly for CRuby < 2.6 on macos-arm64 2024-05-30 14:41:43 +02:00
Benoit Daloze d4138ebc47 Do not validate the version for self-hosted 2024-05-30 14:41:31 +02:00
Benoit Daloze 049eae0450 Remove trailing space 2024-05-30 12:56:58 +02:00
ruby-builder-bot ff22bbb25f Add ruby-3.1.6,ruby-3.3.2 2024-05-30 12:29:44 +02:00
Benoit Daloze 943103cae7 Use downloadAndExtract() for truffleruby+graalvm too
* Simpler and more consistent that way.
* Avoids rerunning the post-install hook every time.
2024-05-22 00:08:22 +09:00
Kenichi Kamiya 7dc18ff0ca Exclude ruby 1.9 and 2.2 test for ubuntu-24.04
https://github.com/ruby/setup-ruby/pull/596#discussion_r1606047680
2024-05-20 17:46:39 +08:00
Kenichi Kamiya 00a1085dff Update README about ubuntu-24.04 2024-05-20 17:46:39 +08:00
Kenichi Kamiya 868b8c0873 Test against ubuntu-24.04 runner 2024-05-20 17:46:39 +08:00
Kenichi Kamiya 4f20bb7102 Support ubuntu-24.04-x64 2024-05-20 17:46:39 +08:00
ruby-builder-bot 6615b4b8a0 Add ruby-3.4.0-preview1 2024-05-17 16:58:23 +09:00
Benoit Daloze 82dd21cb95 Remove leftover test files
* The corresponding tests were removed in e16528e678.
  They could be re-added but should generate these files dynamically to avoid confusion.
2024-05-06 19:16:43 +02:00
ruby-builder-bot cacc9f1c0b Add jruby-9.4.7.0 2024-05-03 12:07:05 +02:00
ruby-builder-bot 1198b07430 Update CRuby releases on Windows 2024-04-26 11:20:31 +02:00
ruby-builder-bot 70da3bbf44 Add ruby-3.0.7,ruby-3.1.5,ruby-3.2.4,ruby-3.3.1 2024-04-23 18:56:06 +02:00
ruby-builder-bot 6bd3d993c6 Add truffleruby-24.0.1,truffleruby+graalvm-24.0.1 2024-04-16 18:16:08 +02:00
ruby-builder-bot 5f19ec79ce Add truffleruby-24.0.0,truffleruby+graalvm-24.0.0 2024-03-19 17:12:25 +01:00
ruby-builder-bot d4526a5553 Add jruby-9.3.14.0,jruby-9.4.6.0 2024-02-21 11:49:15 +01:00
Benoit Daloze e9d41d6cc1 Added dependabot for GitHub Actions 2024-02-17 12:27:49 +01:00
Benoit Daloze 22fdc77bf4 Clarify comment in test.yml 2024-01-31 16:00:45 +01:00
なつき 98f8f7e659 Update README.md 2024-01-31 15:57:37 +01:00
なつき 56dbe84af1 Add support for macos-14-x64 GitHub runners 2024-01-31 15:57:37 +01:00
なつき e8677f0f39 Add support for macos-14-arm64 GitHub runners 2024-01-31 15:57:37 +01:00
Ståle Storø Hauknes 7f2d473c10 Update url 2024-01-31 12:20:18 +01:00
Benoit Daloze bd03e04863 Test 3.3 on Windows 2024-01-25 17:18:05 +01:00
ruby-builder-bot 9c6c84224a Update CRuby releases on Windows 2024-01-25 17:17:32 +01:00
15 changed files with 196 additions and 88 deletions
+6
View File
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
+13 -6
View File
@@ -1,17 +1,24 @@
name: Update the v1 branch when a release is published
name: Create a Release
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: read
contents: write # for creating release
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write # for git push
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./
with:
ruby-version: '3.3'
- run: ruby release.rb
# The same as the update-v1-branch.yml workflow.
# That workflow is not triggered by the release created above because of
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
- run: git push origin HEAD:v1
+11 -11
View File
@@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, macos-13, macos-arm-oss, windows-2019, windows-2022 ]
os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-12, macos-13, macos-14, 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', ruby-head,
jruby, jruby-head,
@@ -33,24 +33,24 @@ jobs:
exclude:
# https://github.com/ruby/setup-ruby/issues/496
- { os: ubuntu-22.04, ruby: '2.2' }
# Too old, fails to compile on macos-arm-oss
- { os: macos-arm-oss, ruby: '1.9' }
- { os: macos-arm-oss, ruby: '2.0' }
- { os: macos-arm-oss, ruby: '2.1' }
- { os: macos-arm-oss, ruby: '2.2' }
- { os: macos-arm-oss, ruby: '2.3' }
- { os: macos-arm-oss, ruby: '2.4' }
- { os: macos-arm-oss, ruby: '2.5' }
- { os: ubuntu-24.04, ruby: '1.9' }
- { 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
- { os: macos-14, ruby: '1.9' }
- { os: macos-14, ruby: '2.0' }
- { os: macos-14, ruby: '2.1' }
- { os: macos-14, ruby: '2.2' }
- { os: macos-14, ruby: '2.3' }
- { os: macos-14, ruby: '2.4' }
- { os: macos-14, ruby: '2.5' }
# Windows
- { os: windows-2019, ruby: '1.9' }
- { os: windows-2019, ruby: '3.3' }
- { 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: '3.3' }
- { os: windows-2022, ruby: debug }
- { os: windows-2022, ruby: truffleruby }
- { os: windows-2022, ruby: truffleruby-head }
+15
View File
@@ -0,0 +1,15 @@
name: Update the v1 branch when a release is published manually
on:
release:
types: [published]
permissions:
contents: write # for git push
jobs:
update_branch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git push origin HEAD:v1
-1
View File
@@ -1 +0,0 @@
ruby-2.6.5
-2
View File
@@ -1,2 +0,0 @@
nodejs 16.0.0
ruby 2.7.0
+4
View File
@@ -24,3 +24,7 @@ $ cp pre-commit .git/hooks/pre-commit
This is entirely automated now since [this issue](https://github.com/ruby/setup-ruby/issues/254).
If you do not see a new version more than 24 hours after it was released feel free to file an issue.
## Release
Maintainers can create a release automatically by running [this workflow](https://github.com/ruby/setup-ruby/actions/workflows/release.yml).
+8 -8
View File
@@ -15,12 +15,12 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
| Interpreter | Versions |
| ----------- | -------- |
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.3.0, head, debug, mingw, mswin, ucrt |
| `jruby` | 9.1.17.0 - 9.4.5.0, head |
| `truffleruby` | 19.3.0 - 23.1.2, head |
| `truffleruby+graalvm` | 21.2.0 - 23.1.2, head |
| `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 |
| `jruby` | 9.1.17.0 - 9.4.8.0, head |
| `truffleruby` | 19.3.0 - 24.0.1, head |
| `truffleruby+graalvm` | 21.2.0 - 24.0.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`).
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.
@@ -38,12 +38,12 @@ which means Ruby ≤ 2.4 is unmaintained and considered insecure.
### Supported Platforms
The action works on these [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources) images. Runner images not listed below are not supported yet. `$OS-latest` just alias to one of these images.
The action works on these [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources) images. Runner images not listed below are not supported yet. `$OS-latest` just alias to one of these images.
| Operating System | Supported |
| ---------------- | --------- |
| Ubuntu | `ubuntu-20.04`, `ubuntu-22.04` |
| macOS | `macos-11`, `macos-12`, `macos-13`, `macos-13-xlarge` (arm64) |
| Ubuntu | `ubuntu-20.04`, `ubuntu-22.04`, `ubuntu-24.04` |
| macOS | `macos-12`, `macos-13`, `macos-14` |
| Windows | `windows-2019`, `windows-2022` |
The prebuilt releases are generated by [ruby-builder](https://github.com/ruby/ruby-builder)
+3 -1
View File
@@ -165,10 +165,12 @@ export async function hashFile(file) {
const GitHubHostedPlatforms = [
'ubuntu-20.04-x64',
'ubuntu-22.04-x64',
'macos-11-x64',
'ubuntu-24.04-x64',
'macos-12-x64',
'macos-13-x64',
'macos-13-arm64',
'macos-14-x64',
'macos-14-arm64',
'windows-2019-x64',
'windows-2022-x64',
]
Generated Vendored
+53 -28
View File
File diff suppressed because one or more lines are too long
+31 -3
View File
@@ -58,8 +58,14 @@ export async function setupRuby(options = {}) {
installer = require('./ruby-builder')
}
const engineVersions = installer.getAvailableVersions(platform, engine)
const version = validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVersion)
let version
if (common.isSelfHostedRunner()) {
// The list of available Rubies in the hostedtoolcache is unrelated to getAvailableVersions()
version = parsedVersion
} else {
const engineVersions = installer.getAvailableVersions(platform, engine)
version = validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVersion)
}
createGemRC(engine, version)
envPreInstall()
@@ -159,11 +165,33 @@ function validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVe
version = found
} else {
throw new Error(`Unknown version ${parsedVersion} for ${engine} on ${platform}
available versions for ${engine} on ${platform}: ${engineVersions.join(', ')}
Available versions for ${engine} on ${platform}: ${engineVersions.join(', ')}
Make sure you use the latest version of the action with - uses: ruby/setup-ruby@v1`)
}
}
// 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.
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/
If you are using a matrix of Ruby versions, a good solution is to run only < 2.6 on amd64, like so:
matrix:
ruby: ['2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
os: [ ubuntu-latest, macos-latest ]
# CRuby < 2.6 does not support macos-arm64, so test those on amd64 instead
exclude:
- { os: macos-latest, ruby: '2.4' }
- { os: macos-latest, ruby: '2.5' }
include:
- { os: macos-13, ruby: '2.4' }
- { 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.`)
}
return version
}
+17
View File
@@ -0,0 +1,17 @@
require 'json'
def run(command_line)
puts "$ #{command_line}"
output = `#{command_line}`
puts output
raise $?.inspect unless $?.success?
output
end
latest_release_tag = run 'gh release view --json tagName'
latest_release_tag = JSON.load(latest_release_tag).fetch('tagName')
raise latest_release_tag unless latest_release_tag =~ /\Av(\d+).(\d+).(\d+)\z/
tag = "v#{$1}.#{Integer($2)+1}.0"
run "gh release create --generate-notes --latest #{tag}"
+9 -6
View File
@@ -9,17 +9,18 @@
"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.1.0-preview1", "3.1.0", "3.1.1", "3.1.2", "3.1.3", "3.1.4",
"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.3.0-preview1", "3.3.0-preview2", "3.3.0-preview3", "3.3.0-rc1", "3.3.0",
"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.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.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.4.0.0", "9.4.1.0", "9.4.2.0", "9.4.3.0", "9.4.4.0", "9.4.5.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": [
@@ -28,12 +29,14 @@
"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",
"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",
"head"
]
}
+17 -22
View File
@@ -51,11 +51,7 @@ export async function install(platform, engine, version) {
if (!inToolCache) {
await io.mkdirP(rubyPrefix)
if (engine === 'truffleruby+graalvm') {
await installWithRubyBuild(engine, version, rubyPrefix)
} else {
await downloadAndExtract(platform, engine, version, rubyPrefix)
}
await downloadAndExtract(platform, engine, version, rubyPrefix)
}
// https://github.com/oracle/truffleruby/issues/3390
@@ -67,28 +63,23 @@ export async function install(platform, engine, version) {
return rubyPrefix
}
async function installWithRubyBuild(engine, version, rubyPrefix) {
const tmp = process.env['RUNNER_TEMP'] || os.tmpdir()
const rubyBuildDir = path.join(tmp, 'ruby-build-for-setup-ruby')
await common.measure('Cloning ruby-build', async () => {
await exec.exec('git', ['clone', 'https://github.com/rbenv/ruby-build.git', rubyBuildDir])
})
const rubyName = `${engine}-${version === 'head' ? 'dev' : version}`
await common.measure(`Installing ${engine}-${version} with ruby-build`, async () => {
await exec.exec(`${rubyBuildDir}/bin/ruby-build`, [rubyName, rubyPrefix])
})
await io.rmRF(rubyBuildDir)
}
async function downloadAndExtract(platform, engine, version, rubyPrefix) {
const parentDir = path.dirname(rubyPrefix)
const downloadPath = await common.measure('Downloading Ruby', async () => {
const url = getDownloadURL(platform, engine, version)
console.log(url)
return await tc.downloadTool(url)
try {
return await tc.downloadTool(url)
} catch (error) {
if (error.message.includes('404')) {
throw new Error(`Unavailable version ${version} for ${engine} on ${platform}
You can request it at https://github.com/ruby/setup-ruby/issues
Cause: ${error.message}`)
} else {
throw error
}
}
})
await common.measure('Extracting Ruby', async () => {
@@ -125,5 +116,9 @@ function getDownloadURL(platform, engine, version) {
}
function getLatestHeadBuildURL(platform, engine, version) {
return `https://github.com/ruby/${engine}-dev-builder/releases/latest/download/${engine}-${version}-${platform}.tar.gz`
var repo = `${engine}-dev-builder`
if (engine === 'truffleruby+graalvm') {
repo = 'truffleruby-dev-builder'
}
return `https://github.com/ruby/${repo}/releases/latest/download/${engine}-${version}-${platform}.tar.gz`
}
+9
View File
@@ -49,15 +49,24 @@
"3.0.4": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.4-1/rubyinstaller-3.0.4-1-x64.7z",
"3.0.5": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.5-1/rubyinstaller-3.0.5-1-x64.7z",
"3.0.6": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.6-1/rubyinstaller-3.0.6-1-x64.7z",
"3.0.7": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.7-1/rubyinstaller-3.0.7-1-x64.7z",
"3.1.0": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.0-1/rubyinstaller-3.1.0-1-x64.7z",
"3.1.1": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.1-1/rubyinstaller-3.1.1-1-x64.7z",
"3.1.2": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.2-1/rubyinstaller-3.1.2-1-x64.7z",
"3.1.3": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.3-1/rubyinstaller-3.1.3-1-x64.7z",
"3.1.4": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.4-1/rubyinstaller-3.1.4-1-x64.7z",
"3.1.5": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.5-1/rubyinstaller-3.1.5-1-x64.7z",
"3.1.6": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.6-1/rubyinstaller-3.1.6-1-x64.7z",
"3.2.0": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.0-1/rubyinstaller-3.2.0-1-x64.7z",
"3.2.1": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.1-1/rubyinstaller-3.2.1-1-x64.7z",
"3.2.2": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.2-1/rubyinstaller-3.2.2-1-x64.7z",
"3.2.3": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.3-1/rubyinstaller-3.2.3-1-x64.7z",
"3.2.4": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.4-1/rubyinstaller-3.2.4-1-x64.7z",
"3.3.0": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.0-1/rubyinstaller-3.3.0-1-x64.7z",
"3.3.1": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.1-1/rubyinstaller-3.3.1-1-x64.7z",
"3.3.2": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.2-1/rubyinstaller-3.3.2-1-x64.7z",
"3.3.3": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.3-1/rubyinstaller-3.3.3-1-x64.7z",
"3.3.4": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.4-1/rubyinstaller-3.3.4-1-x64.7z",
"head": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.7z",
"mingw": "https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mingw.7z",
"mswin": "https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mswin.7z",