mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 22:44:20 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a30dfa457a | ||
|
|
003a5c4d8d | ||
|
|
8e41b362d2 | ||
|
|
6e5d382445 | ||
|
|
d45b1a4e94 | ||
|
|
0dafeac902 | ||
|
|
bf35c27edc | ||
|
|
9eb537ca03 | ||
|
|
e1a3b100ca | ||
|
|
0df5288f06 | ||
|
|
89f90524b8 | ||
|
|
12fd324f1d | ||
|
|
a99ac84464 | ||
|
|
afeafc3d1a | ||
|
|
28c65f7bd3 |
@@ -8,7 +8,7 @@ jobs:
|
|||||||
check_windows_versions:
|
check_windows_versions:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
GH_TOKEN: ${{ github.token }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
GH_REPO: ${{ github.repository }}
|
GH_REPO: ${{ github.repository }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- uses: ./
|
- uses: ./
|
||||||
|
|||||||
+23
-26
@@ -18,7 +18,7 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
matrix: ${{ steps.matrix.outputs.matrix }}
|
matrix: ${{ steps.matrix.outputs.matrix }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: ruby
|
ruby-version: ruby
|
||||||
@@ -37,7 +37,7 @@ jobs:
|
|||||||
name: ${{ matrix.os }} ${{ matrix.ruby }}
|
name: ${{ matrix.os }} ${{ matrix.ruby }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
|
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -135,15 +135,12 @@ jobs:
|
|||||||
- name: bash test
|
- name: bash test
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo ~ && bundle install
|
run: echo ~ && bundle install
|
||||||
- name: Windows JRuby
|
|
||||||
if: runner.os == 'Windows' && startsWith(matrix.ruby, 'jruby')
|
|
||||||
run: gem install sassc
|
|
||||||
|
|
||||||
testDotRubyVersion:
|
testDotRubyVersion:
|
||||||
name: "Test .ruby-version"
|
name: "Test .ruby-version"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- run: echo "ruby-3.4.0" > .ruby-version
|
- run: echo "ruby-3.4.0" > .ruby-version
|
||||||
- uses: ./
|
- uses: ./
|
||||||
- run: ruby -v | grep -F "ruby 3.4.0"
|
- run: ruby -v | grep -F "ruby 3.4.0"
|
||||||
@@ -152,7 +149,7 @@ jobs:
|
|||||||
name: "Test .tool-versions"
|
name: "Test .tool-versions"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- run: echo -e "nodejs 16.0.0\nruby 3.4.0" > .tool-versions
|
- run: echo -e "nodejs 16.0.0\nruby 3.4.0" > .tool-versions
|
||||||
- uses: ./
|
- uses: ./
|
||||||
- run: ruby -v | grep -F "ruby 3.4.0"
|
- run: ruby -v | grep -F "ruby 3.4.0"
|
||||||
@@ -161,7 +158,7 @@ jobs:
|
|||||||
name: "Test mise.toml"
|
name: "Test mise.toml"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- run: echo -e "[tools]\nnode = '18'\nruby = '3.4.0'" > mise.toml
|
- run: echo -e "[tools]\nnode = '18'\nruby = '3.4.0'" > mise.toml
|
||||||
- uses: ./
|
- uses: ./
|
||||||
- run: ruby -v | grep -F "ruby 3.4.0"
|
- run: ruby -v | grep -F "ruby 3.4.0"
|
||||||
@@ -170,7 +167,7 @@ jobs:
|
|||||||
name: "Test with no Gemfile"
|
name: "Test with no Gemfile"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- run: rm Gemfile
|
- run: rm Gemfile
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -181,7 +178,7 @@ jobs:
|
|||||||
name: "Test with no Gemfile but with bundler-cache"
|
name: "Test with no Gemfile but with bundler-cache"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- run: rm Gemfile
|
- run: rm Gemfile
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
@@ -204,7 +201,7 @@ jobs:
|
|||||||
- { ruby: '2.3', expected_rubygems_version: '3.3.27' }
|
- { ruby: '2.3', expected_rubygems_version: '3.3.27' }
|
||||||
- { ruby: '2.0', expected_rubygems_version: '2.7.11' }
|
- { ruby: '2.0', expected_rubygems_version: '2.7.11' }
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: ${{ matrix.ruby }}
|
ruby-version: ${{ matrix.ruby }}
|
||||||
@@ -215,7 +212,7 @@ jobs:
|
|||||||
name: "Test rubygems: version upgrades RubyGems to that version if the default is older"
|
name: "Test rubygems: version upgrades RubyGems to that version if the default is older"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.6'
|
ruby-version: '2.6'
|
||||||
@@ -226,7 +223,7 @@ jobs:
|
|||||||
name: "Test rubygems: version noops if the default is newer"
|
name: "Test rubygems: version noops if the default is newer"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '3.1.0'
|
ruby-version: '3.1.0'
|
||||||
@@ -237,7 +234,7 @@ jobs:
|
|||||||
name: "Test rubygems: version uses the Bundler installed by the rubygems update"
|
name: "Test rubygems: version uses the Bundler installed by the rubygems update"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '3.1.0'
|
ruby-version: '3.1.0'
|
||||||
@@ -249,7 +246,7 @@ jobs:
|
|||||||
name: "Test bundler: 1.x for old Ruby"
|
name: "Test bundler: 1.x for old Ruby"
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.3'
|
ruby-version: '2.3'
|
||||||
@@ -260,7 +257,7 @@ jobs:
|
|||||||
name: "Test with a major Bundler version"
|
name: "Test with a major Bundler version"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.6'
|
ruby-version: '2.6'
|
||||||
@@ -271,7 +268,7 @@ jobs:
|
|||||||
name: "Test with a minor Bundler version"
|
name: "Test with a minor Bundler version"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.6'
|
ruby-version: '2.6'
|
||||||
@@ -282,7 +279,7 @@ jobs:
|
|||||||
name: "Test with an exact Bundler version"
|
name: "Test with an exact Bundler version"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.6'
|
ruby-version: '2.6'
|
||||||
@@ -294,7 +291,7 @@ jobs:
|
|||||||
name: "Test with an older Bundler version than the one of the default gem"
|
name: "Test with an older Bundler version than the one of the default gem"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '4.0'
|
ruby-version: '4.0'
|
||||||
@@ -306,7 +303,7 @@ jobs:
|
|||||||
name: "Test with a Bundler pre/rc version"
|
name: "Test with a Bundler pre/rc version"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.6'
|
ruby-version: '2.6'
|
||||||
@@ -319,7 +316,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler-dev.gemfile
|
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler-dev.gemfile
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: ruby-head
|
ruby-version: ruby-head
|
||||||
@@ -331,7 +328,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler1.gemfile
|
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler1.gemfile
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.7'
|
ruby-version: '2.7'
|
||||||
@@ -349,7 +346,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '3.2'
|
ruby-version: '3.2'
|
||||||
@@ -360,7 +357,7 @@ jobs:
|
|||||||
name: "Test windows-toolchain: none"
|
name: "Test windows-toolchain: none"
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.7'
|
ruby-version: '2.7'
|
||||||
@@ -373,7 +370,7 @@ jobs:
|
|||||||
name: "Check windows*versions.json are up-to-date"
|
name: "Check windows*versions.json are up-to-date"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
ruby-version: ruby
|
ruby-version: ruby
|
||||||
@@ -385,7 +382,7 @@ jobs:
|
|||||||
name: "Check dist/index.js is up-to-date"
|
name: "Check dist/index.js is up-to-date"
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- run: yarn install
|
- run: yarn install
|
||||||
- run: yarn run package
|
- run: yarn run package
|
||||||
- name: Check generated files are up to date
|
- name: Check generated files are up to date
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ jobs:
|
|||||||
update_branch:
|
update_branch:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- run: git push origin HEAD:v1
|
- run: git push origin HEAD:v1
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
|
|||||||
|
|
||||||
| Interpreter | Versions |
|
| Interpreter | Versions |
|
||||||
| ----------- | -------- |
|
| ----------- | -------- |
|
||||||
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 4.0.4, head, debug, mingw, mswin, ucrt |
|
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 4.0.6, head, debug, mingw, mswin, ucrt |
|
||||||
| `jruby` | 9.1.17.0 - 10.1.0.0, head |
|
| `jruby` | 9.1.17.0 - 10.1.0.0, head |
|
||||||
| `truffleruby` | 19.3.0 - 34.0.1, head |
|
| `truffleruby` | 19.3.0 - 34.0.1, head |
|
||||||
| `truffleruby+graalvm` | 21.2.0 - 34.0.1, head |
|
| `truffleruby+graalvm` | 21.2.0 - 34.0.1, head |
|
||||||
@@ -49,7 +49,7 @@ The action works on these [GitHub-hosted runners](https://docs.github.com/en/act
|
|||||||
|
|
||||||
| Operating System | Supported |
|
| Operating System | Supported |
|
||||||
| ---------------- | --------- |
|
| ---------------- | --------- |
|
||||||
| Ubuntu | `ubuntu-22.04`, `ubuntu-24.04`, `ubuntu-22.04-arm`, `ubuntu-24.04-arm` |
|
| Ubuntu | `ubuntu-22.04`, `ubuntu-24.04`, `ubuntu-26.04`, `ubuntu-22.04-arm`, `ubuntu-24.04-arm`, `ubuntu-26.04-arm` |
|
||||||
| macOS | `macos-14` and newer versions |
|
| macOS | `macos-14` and newer versions |
|
||||||
| Windows | `windows-2022`, `windows-2025`, `windows-11-arm` |
|
| Windows | `windows-2022`, `windows-2025`, `windows-11-arm` |
|
||||||
|
|
||||||
@@ -168,7 +168,7 @@ should be able to fix them by setting `rubygems: 3.0.0` or higher.
|
|||||||
|
|
||||||
By default, Bundler is installed as follows:
|
By default, Bundler is installed as follows:
|
||||||
|
|
||||||
* If there is a `Gemfile.lock` file (or `$BUNDLE_GEMFILE.lock` or `gems.locked`) with a `BUNDLED WITH` section,
|
* If there is a `Gemfile.lock` file (or `$BUNDLE_LOCKFILE`, `$BUNDLE_GEMFILE.lock`, or `gems.locked`) with a `BUNDLED WITH` section,
|
||||||
that version of Bundler will be installed and used.
|
that version of Bundler will be installed and used.
|
||||||
* If the Ruby ships with Bundler 2.2+ (as a default gem), that version is used.
|
* If the Ruby ships with Bundler 2.2+ (as a default gem), that version is used.
|
||||||
* Otherwise, the latest compatible Bundler version is installed (Bundler 2 on Ruby >= 2.3, Bundler 1 on Ruby < 2.3).
|
* Otherwise, the latest compatible Bundler version is installed (Bundler 2 on Ruby >= 2.3, Bundler 1 on Ruby < 2.3).
|
||||||
@@ -188,7 +188,7 @@ Note that any step doing `bundle install` (for the root `Gemfile`) or `gem insta
|
|||||||
|
|
||||||
This caching speeds up installing gems significantly and avoids too many requests to RubyGems.org.
|
This caching speeds up installing gems significantly and avoids too many requests to RubyGems.org.
|
||||||
It needs a `Gemfile` (or `$BUNDLE_GEMFILE` or `gems.rb`) under the [`working-directory`](#working-directory).
|
It needs a `Gemfile` (or `$BUNDLE_GEMFILE` or `gems.rb`) under the [`working-directory`](#working-directory).
|
||||||
If there is a `Gemfile.lock` (or `$BUNDLE_GEMFILE.lock` or `gems.locked`), `bundle config --local deployment true` is used.
|
If there is a `Gemfile.lock` (or `$BUNDLE_LOCKFILE`, `$BUNDLE_GEMFILE.lock`, or `gems.locked`), `bundle config --local deployment true` is used.
|
||||||
|
|
||||||
To use a `Gemfile` which is not at the root or has a different name, set `BUNDLE_GEMFILE` in the `env` at the job level
|
To use a `Gemfile` which is not at the root or has a different name, set `BUNDLE_GEMFILE` in the `env` at the job level
|
||||||
as shown in the [example](#matrix-of-gemfiles).
|
as shown in the [example](#matrix-of-gemfiles).
|
||||||
|
|||||||
+4
-2
@@ -15,14 +15,16 @@ function isValidBundlerVersion(bundlerVersion) {
|
|||||||
// The returned gemfile is guaranteed to exist, the lockfile might not exist
|
// The returned gemfile is guaranteed to exist, the lockfile might not exist
|
||||||
export function detectGemfiles() {
|
export function detectGemfiles() {
|
||||||
const gemfilePath = process.env['BUNDLE_GEMFILE'] || 'Gemfile'
|
const gemfilePath = process.env['BUNDLE_GEMFILE'] || 'Gemfile'
|
||||||
|
const lockfilePath = process.env['BUNDLE_LOCKFILE']
|
||||||
|
|
||||||
if (fs.existsSync(gemfilePath)) {
|
if (fs.existsSync(gemfilePath)) {
|
||||||
return [gemfilePath, `${gemfilePath}.lock`]
|
return [gemfilePath, lockfilePath || `${gemfilePath}.lock`]
|
||||||
} else if (process.env['BUNDLE_GEMFILE']) {
|
} else if (process.env['BUNDLE_GEMFILE']) {
|
||||||
throw new Error(`$BUNDLE_GEMFILE is set to ${gemfilePath} but does not exist`)
|
throw new Error(`$BUNDLE_GEMFILE is set to ${gemfilePath} but does not exist`)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fs.existsSync("gems.rb")) {
|
if (fs.existsSync("gems.rb")) {
|
||||||
return ["gems.rb", "gems.locked"]
|
return ["gems.rb", lockfilePath || "gems.locked"]
|
||||||
}
|
}
|
||||||
|
|
||||||
return [null, null]
|
return [null, null]
|
||||||
|
|||||||
@@ -186,6 +186,8 @@ 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',
|
||||||
|
'ubuntu-26.04-x64',
|
||||||
|
'ubuntu-26.04-arm64',
|
||||||
'windows-2022-x64',
|
'windows-2022-x64',
|
||||||
'windows-2025-x64',
|
'windows-2025-x64',
|
||||||
'windows-11-arm64'
|
'windows-11-arm64'
|
||||||
|
|||||||
+9
-5
File diff suppressed because one or more lines are too long
@@ -23,8 +23,10 @@ runners = %w[
|
|||||||
macos-15-intel
|
macos-15-intel
|
||||||
ubuntu-22.04
|
ubuntu-22.04
|
||||||
ubuntu-24.04
|
ubuntu-24.04
|
||||||
|
ubuntu-26.04
|
||||||
ubuntu-22.04-arm
|
ubuntu-22.04-arm
|
||||||
ubuntu-24.04-arm
|
ubuntu-24.04-arm
|
||||||
|
ubuntu-26.04-arm
|
||||||
windows-2022
|
windows-2022
|
||||||
windows-2025
|
windows-2025
|
||||||
windows-11-arm
|
windows-11-arm
|
||||||
@@ -38,6 +40,9 @@ macos_arm64_runners, macos_x64_runners = macos_runners.partition { |runner| !run
|
|||||||
ubuntu_arm64_runners, ubuntu_x64_runners = ubuntu_runners.partition { |runner| runner.end_with?('-arm')}
|
ubuntu_arm64_runners, ubuntu_x64_runners = ubuntu_runners.partition { |runner| runner.end_with?('-arm')}
|
||||||
windows_arm64_runners, windows_x64_runners = windows_runners.partition { |runner| runner.end_with?('-arm') }
|
windows_arm64_runners, windows_x64_runners = windows_runners.partition { |runner| runner.end_with?('-arm') }
|
||||||
|
|
||||||
|
asan_runners = ubuntu_x64_runners.grep(/ubuntu-24\.04/)
|
||||||
|
ubuntu2604_runners = ubuntu_runners.grep(/ubuntu-26\.04/)
|
||||||
|
|
||||||
# Versions
|
# Versions
|
||||||
ruby_builder_versions = JSON.load(File.read('ruby-builder-versions.json'))
|
ruby_builder_versions = JSON.load(File.read('ruby-builder-versions.json'))
|
||||||
windows_versions = JSON.load(File.read('windows-versions.json'))
|
windows_versions = JSON.load(File.read('windows-versions.json'))
|
||||||
@@ -61,7 +66,7 @@ matrix += windows_x64_runners.product(ruby_loco_versions)
|
|||||||
|
|
||||||
# asan: latest release + head
|
# asan: latest release + head
|
||||||
asan_versions = %w[asan-release asan]
|
asan_versions = %w[asan-release asan]
|
||||||
matrix += ubuntu_x64_runners.sort.last(1).product(asan_versions)
|
matrix += asan_runners.sort.last(1).product(asan_versions)
|
||||||
|
|
||||||
# https://github.com/ruby/setup-ruby/pull/596#discussion_r1606047680
|
# https://github.com/ruby/setup-ruby/pull/596#discussion_r1606047680
|
||||||
matrix -= (ubuntu_runners - %w[ubuntu-22.04]).product(%w[1.9])
|
matrix -= (ubuntu_runners - %w[ubuntu-22.04]).product(%w[1.9])
|
||||||
@@ -71,6 +76,8 @@ matrix -= ubuntu_runners.product(%w[2.2])
|
|||||||
matrix -= macos_arm64_runners.product(%w[1.9 2.0 2.1 2.2 2.3 2.4 2.5])
|
matrix -= macos_arm64_runners.product(%w[1.9 2.0 2.1 2.2 2.3 2.4 2.5])
|
||||||
# These old Rubies fail to compile or segfault on Linux arm64
|
# These old Rubies fail to compile or segfault on Linux arm64
|
||||||
matrix -= ubuntu_arm64_runners.product(%w[1.9 2.0 2.1 2.2])
|
matrix -= ubuntu_arm64_runners.product(%w[1.9 2.0 2.1 2.2])
|
||||||
|
# These old Rubies fail to compile on ubuntu-26.04
|
||||||
|
matrix -= ubuntu2604_runners.product(%w[1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1])
|
||||||
# RubyInstaller windows-arm64 builds only exist for Ruby 3.4+
|
# RubyInstaller windows-arm64 builds only exist for Ruby 3.4+
|
||||||
matrix -= windows_arm64_runners.product(%w[2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3])
|
matrix -= windows_arm64_runners.product(%w[2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.0 3.1 3.2 3.3])
|
||||||
|
|
||||||
|
|||||||
@@ -12,18 +12,18 @@
|
|||||||
"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.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.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.9", "3.2.10", "3.2.11",
|
"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.9", "3.2.10", "3.2.11",
|
||||||
"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.9", "3.3.10", "3.3.11",
|
"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.9", "3.3.10", "3.3.11", "3.3.12",
|
||||||
"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.4.6", "3.4.7", "3.4.8", "3.4.9",
|
"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.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10",
|
||||||
"3.5.0-preview1",
|
"3.5.0-preview1",
|
||||||
"4.0.0-preview2", "4.0.0-preview3", "4.0.0", "4.0.1", "4.0.2", "4.0.3", "4.0.4",
|
"4.0.0-preview2", "4.0.0-preview3", "4.0.0", "4.0.1", "4.0.2", "4.0.3", "4.0.4", "4.0.5", "4.0.6",
|
||||||
"head", "debug", "asan", "asan-release"
|
"head", "debug", "asan", "asan-release"
|
||||||
],
|
],
|
||||||
"jruby": [
|
"jruby": [
|
||||||
"9.1.17.0",
|
"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.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.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", "9.4.14.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", "9.4.14.0", "9.4.15.0",
|
||||||
"10.0.0.0", "10.0.0.1", "10.0.1.0", "10.0.2.0", "10.0.3.0", "10.0.4.0", "10.0.5.0",
|
"10.0.0.0", "10.0.0.1", "10.0.1.0", "10.0.2.0", "10.0.3.0", "10.0.4.0", "10.0.5.0", "10.0.6.0",
|
||||||
"10.1.0.0",
|
"10.1.0.0",
|
||||||
"head"
|
"head"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ versions = JSON.load(hash).transform_keys(&:to_sym)
|
|||||||
ONLY_LATEST_PATCH = ENV['ONLY_LATEST_PATCH']
|
ONLY_LATEST_PATCH = ENV['ONLY_LATEST_PATCH']
|
||||||
|
|
||||||
def filter(versions)
|
def filter(versions)
|
||||||
versions -= %w[head]
|
versions -= %w[head debug asan asan-release 3.5.0-preview1]
|
||||||
if ONLY_LATEST_PATCH
|
if ONLY_LATEST_PATCH
|
||||||
versions = versions.group_by { |v| v[/^\d+\.\d+/] }.map { _2.last }
|
versions = versions.group_by { |v| v[/^\d+\.\d+/] }.map { _2.last }
|
||||||
end
|
end
|
||||||
@@ -29,5 +29,7 @@ puts filter(versions[:"truffleruby+graalvm"]).map { |v| "truffleruby+graalvm-#{v
|
|||||||
|
|
||||||
puts
|
puts
|
||||||
puts filter(versions[:jruby]).map { |v| "jruby-#{v}" }.join(', ')
|
puts filter(versions[:jruby]).map { |v| "jruby-#{v}" }.join(', ')
|
||||||
|
|
||||||
|
puts
|
||||||
puts "For Windows:"
|
puts "For Windows:"
|
||||||
puts filter(versions[:jruby]).join(', ')
|
puts filter(versions[:jruby]).join(', ')
|
||||||
|
|||||||
@@ -248,6 +248,9 @@
|
|||||||
"3.3.11": {
|
"3.3.11": {
|
||||||
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
},
|
},
|
||||||
|
"3.3.12": {
|
||||||
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
|
},
|
||||||
"3.4.1": {
|
"3.4.1": {
|
||||||
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64-mingw-w64@r688.7z",
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64-mingw-w64@r688.7z",
|
||||||
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"
|
||||||
@@ -284,6 +287,10 @@
|
|||||||
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
||||||
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
},
|
},
|
||||||
|
"3.4.10": {
|
||||||
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
||||||
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
|
},
|
||||||
"4.0.0": {
|
"4.0.0": {
|
||||||
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
||||||
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
@@ -304,6 +311,14 @@
|
|||||||
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
||||||
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
},
|
},
|
||||||
|
"4.0.5": {
|
||||||
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
||||||
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
|
},
|
||||||
|
"4.0.6": {
|
||||||
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
||||||
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
|
},
|
||||||
"head": {
|
"head": {
|
||||||
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
"arm64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-clangarm64.7z",
|
||||||
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
"x64": "https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"
|
||||||
|
|||||||
@@ -248,6 +248,9 @@
|
|||||||
"3.3.11": {
|
"3.3.11": {
|
||||||
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.11-1/rubyinstaller-3.3.11-1-x64.7z"
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.11-1/rubyinstaller-3.3.11-1-x64.7z"
|
||||||
},
|
},
|
||||||
|
"3.3.12": {
|
||||||
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.12-1/rubyinstaller-3.3.12-1-x64.7z"
|
||||||
|
},
|
||||||
"3.4.1": {
|
"3.4.1": {
|
||||||
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.1-2/rubyinstaller-3.4.1-2-arm.7z",
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.1-2/rubyinstaller-3.4.1-2-arm.7z",
|
||||||
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.1-2/rubyinstaller-3.4.1-2-x64.7z"
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.1-2/rubyinstaller-3.4.1-2-x64.7z"
|
||||||
@@ -284,6 +287,10 @@
|
|||||||
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.9-1/rubyinstaller-3.4.9-1-arm.7z",
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.9-1/rubyinstaller-3.4.9-1-arm.7z",
|
||||||
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.9-1/rubyinstaller-3.4.9-1-x64.7z"
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.9-1/rubyinstaller-3.4.9-1-x64.7z"
|
||||||
},
|
},
|
||||||
|
"3.4.10": {
|
||||||
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.10-1/rubyinstaller-3.4.10-1-arm.7z",
|
||||||
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.10-1/rubyinstaller-3.4.10-1-x64.7z"
|
||||||
|
},
|
||||||
"4.0.0": {
|
"4.0.0": {
|
||||||
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.0-1/rubyinstaller-4.0.0-1-arm.7z",
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.0-1/rubyinstaller-4.0.0-1-arm.7z",
|
||||||
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.0-1/rubyinstaller-4.0.0-1-x64.7z"
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.0-1/rubyinstaller-4.0.0-1-x64.7z"
|
||||||
@@ -304,6 +311,14 @@
|
|||||||
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.4-1/rubyinstaller-4.0.4-1-arm.7z",
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.4-1/rubyinstaller-4.0.4-1-arm.7z",
|
||||||
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.4-1/rubyinstaller-4.0.4-1-x64.7z"
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.4-1/rubyinstaller-4.0.4-1-x64.7z"
|
||||||
},
|
},
|
||||||
|
"4.0.5": {
|
||||||
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.5-1/rubyinstaller-4.0.5-1-arm.7z",
|
||||||
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.5-1/rubyinstaller-4.0.5-1-x64.7z"
|
||||||
|
},
|
||||||
|
"4.0.6": {
|
||||||
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.6-1/rubyinstaller-4.0.6-1-arm.7z",
|
||||||
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-4.0.6-1/rubyinstaller-4.0.6-1-x64.7z"
|
||||||
|
},
|
||||||
"head": {
|
"head": {
|
||||||
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-arm.7z",
|
"arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-arm.7z",
|
||||||
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.7z"
|
"x64": "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-head-x64.7z"
|
||||||
|
|||||||
Reference in New Issue
Block a user