Compare commits

...
44 Commits
Author SHA1 Message Date
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
Benoit Daloze 5daca16544 Remove default in action.yml for windows-toolchain
* Otherwise it shows up in every usage of the action even if not set.
* Consistent with other non-required inputs.
2024-01-22 11:08:37 +01:00
MSP-Greg 558057564b Add windows-toolchain input 2024-01-22 11:07:31 +01:00
ruby-builder-bot 432702e864 Add ruby-3.2.3 2024-01-19 11:31:38 +01:00
Benoit Daloze b203567269 Workaround bug in XCode 14.2 linker not respecting RTLD_LAZY
* See https://github.com/oracle/truffleruby/issues/3390
2024-01-16 16:42:00 +01:00
17 changed files with 246 additions and 88 deletions
+6
View File
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
+10 -7
View File
@@ -1,17 +1,20 @@
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
- run: git push origin HEAD:v1
- uses: ./
with:
ruby-version: '3.3'
- run: ruby release.rb
+24 -4
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, macos-arm-oss, 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,7 +33,16 @@ 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: ubuntu-24.04, ruby: '1.9' }
- { os: ubuntu-24.04, ruby: '2.2' }
# These old Rubies fail to compile on macos-arm-oss (macOS 13, 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' }
- { os: macos-arm-oss, ruby: '1.9' }
- { os: macos-arm-oss, ruby: '2.0' }
- { os: macos-arm-oss, ruby: '2.1' }
@@ -43,14 +52,12 @@ jobs:
- { os: macos-arm-oss, 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 }
@@ -335,6 +342,19 @@ jobs:
bundler-cache: true
- run: bundle list | grep nokogiri
testWindowsToolchain:
name: "Test windows-toolchain: none"
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: ./
with:
ruby-version: '2.7'
windows-toolchain: none
bundler: none
- name: C:/msys64/mingw64/bin/gcc.exe not installed
run: ruby -e "abort if File.exist?('C:/msys64/mingw64/bin/gcc.exe')"
lint:
runs-on: ubuntu-20.04
steps:
+15
View File
@@ -0,0 +1,15 @@
name: Update the v1 branch when a release is published
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)
+9
View File
@@ -36,6 +36,15 @@ inputs:
Consider the runner as a self-hosted runner, which means not using prebuilt Ruby binaries which only work
on GitHub-hosted runners or self-hosted runners with a very similar image to the ones used by GitHub runners.
The default is to detect this automatically based on the OS, OS version and architecture.
windows-toolchain:
description: |
This input allows to override the default toolchain setup on Windows.
The default setting ('default') installs a toolchain based on the selected Ruby.
Specifically, it installs MSYS2 if not already there and installs mingw/ucrt/mswin build tools and packages.
It also sets environment variables using 'ridk' or 'vcvars64.bat' based on the selected Ruby.
At present, the only other setting than 'default' is 'none', which only adds Ruby to PATH.
No build tools or packages are installed, nor are any ENV setting changed to activate them.
outputs:
ruby-prefix:
description: 'The prefix of the installed ruby'
+5 -2
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',
]
@@ -341,7 +343,8 @@ export function setupPath(newPathEntries) {
// Then add new path entries using core.addPath()
let newPath
if (windows) {
const windowsToolchain = core.getInput('windows-toolchain')
if (windows && windowsToolchain !== 'none') {
// main Ruby dll determines whether mingw or ucrt build
msys2Type = rubyIsUCRT(newPathEntries[0]) ? 'ucrt64' : 'mingw64'
Generated Vendored
+69 -31
View File
File diff suppressed because one or more lines are too long
+32 -3
View File
@@ -17,6 +17,7 @@ const inputDefaults = {
'working-directory': '.',
'cache-version': bundler.DEFAULT_CACHE_VERSION,
'self-hosted': 'false',
'windows-toolchain': 'default',
}
// entry point when this action is run on its own
@@ -57,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()
@@ -158,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.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.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"
]
}
+23 -22
View File
@@ -51,38 +51,35 @@ 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
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
}
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 () => {
@@ -119,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`
}
+8
View File
@@ -49,15 +49,23 @@
"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",
"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",
+7 -2
View File
@@ -65,12 +65,17 @@ export async function install(platform, engine, version) {
rubyPrefix = `${drive}:\\${base}`
}
let toolchainPaths = (version === 'mswin') ? await setupMSWin() : await setupMingw(version)
if (!inToolCache) {
await downloadAndExtract(engine, version, url, base, rubyPrefix);
}
const windowsToolchain = core.getInput('windows-toolchain')
if (windowsToolchain === 'none') {
common.setupPath([`${rubyPrefix}\\bin`])
return rubyPrefix
}
let toolchainPaths = (version === 'mswin') ? await setupMSWin() : await setupMingw(version)
const msys2Type = common.setupPath([`${rubyPrefix}\\bin`, ...toolchainPaths])
// install msys2 tools for all Ruby versions, only install mingw or ucrt for Rubies >= 2.4