diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a74a6a3df..fe1a6ee68 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,7 +11,7 @@ jobs: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - uses: ./ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d9371a319..667a51178 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,11 +3,11 @@ on: pull_request: push: branches-ignore: - - v1 + - v1 tags-ignore: - - '*' + - "*" paths-ignore: - - README.md + - README.md workflow_dispatch: permissions: contents: read @@ -17,196 +17,223 @@ jobs: strategy: fail-fast: false matrix: - 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: [ - '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, - truffleruby, truffleruby-head, - truffleruby+graalvm, truffleruby+graalvm-head - ] + os: [ + warp-ubuntu-2404-x64-2x, + warp-ubuntu-2204-x64-2x, + ubuntu-22.04-arm, + warp-ubuntu-2404-arm64-2x, + # macos-13, + warp-macos-14-arm64-6x, + warp-macos-15-arm64-6x, + # macos-15-intel, + warp-windows-2022-x64-4x, + warp-windows-2025-x64-4x, + # windows-11-arm, + ] + 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-9.4, + jruby, + jruby-head, + truffleruby, + truffleruby-head, + truffleruby+graalvm, + truffleruby+graalvm-head, + ] include: - - { os: windows-2022, ruby: mingw } - - { os: windows-2022, ruby: mswin } - - { os: windows-2022, ruby: ucrt } - - { os: windows-2025, ruby: mingw } - - { os: windows-2025, ruby: mswin } - - { os: windows-2025, ruby: ucrt } - - { os: ubuntu-24.04, ruby: asan } - - { os: ubuntu-24.04, ruby: 3.4-asan } + - { os: windows-2022, ruby: mingw } + - { os: windows-2022, ruby: mswin } + - { os: windows-2022, ruby: ucrt } + - { os: windows-2025, ruby: mingw } + - { os: windows-2025, ruby: mswin } + - { os: windows-2025, ruby: ucrt } + - { os: ubuntu-24.04, ruby: asan } + - { os: ubuntu-24.04, ruby: 3.4-asan } exclude: - # https://github.com/ruby/setup-ruby/issues/496 - - { os: ubuntu-22.04, ruby: '2.2' } - - { os: ubuntu-24.04, ruby: '1.9' } - - { os: ubuntu-24.04, ruby: '2.2' } - # These old Rubies fail to compile on macOS arm64 - - { 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-15, ruby: '1.9' } - - { os: macos-15, ruby: '2.0' } - - { os: macos-15, ruby: '2.1' } - - { os: macos-15, ruby: '2.2' } - - { os: macos-15, ruby: '2.3' } - - { os: macos-15, ruby: '2.4' } - - { os: macos-15, ruby: '2.5' } - # These old Rubies fail to compile or segfault on Linux arm64 - - { os: ubuntu-22.04-arm, ruby: '1.9' } - - { os: ubuntu-22.04-arm, ruby: '2.0' } - - { os: ubuntu-22.04-arm, ruby: '2.1' } - - { os: ubuntu-22.04-arm, ruby: '2.2' } - - { os: ubuntu-24.04-arm, ruby: '1.9' } - - { os: ubuntu-24.04-arm, ruby: '2.0' } - - { os: ubuntu-24.04-arm, ruby: '2.1' } - - { os: ubuntu-24.04-arm, ruby: '2.2' } - # RubyInstaller windows-arm64 builds only exist for Ruby 3.4+ - - { os: windows-11-arm, ruby: '2.0' } - - { os: windows-11-arm, ruby: '2.1' } - - { os: windows-11-arm, ruby: '2.2' } - - { os: windows-11-arm, ruby: '2.3' } - - { os: windows-11-arm, ruby: '2.4' } - - { os: windows-11-arm, ruby: '2.5' } - - { os: windows-11-arm, ruby: '2.6' } - - { os: windows-11-arm, ruby: '2.7' } - - { os: windows-11-arm, ruby: '3.0' } - - { os: windows-11-arm, ruby: '3.1' } - - { os: windows-11-arm, ruby: '3.2' } - - { os: windows-11-arm, ruby: '3.3' } - # https://github.com/ruby/jruby-dev-builder/pull/14#issuecomment-2829841247 - - { os: windows-11-arm, ruby: jruby } - - { os: windows-11-arm, ruby: jruby-head } - # RubyInstaller has no 64-bit builds of 1.9 on Windows - - { os: windows-2022, ruby: '1.9' } - - { os: windows-2025, ruby: '1.9' } - - { os: windows-11-arm, ruby: '1.9' } - # TruffleRuby does not support Windows - - { os: windows-2022, ruby: truffleruby } - - { os: windows-2025, ruby: truffleruby } - - { os: windows-11-arm, ruby: truffleruby } - - { os: windows-2022, ruby: truffleruby-head } - - { os: windows-2025, ruby: truffleruby-head } - - { os: windows-11-arm, ruby: truffleruby-head } - - { os: windows-2022, ruby: truffleruby+graalvm } - - { os: windows-2025, ruby: truffleruby+graalvm } - - { os: windows-11-arm, ruby: truffleruby+graalvm } - - { os: windows-2022, ruby: truffleruby+graalvm-head } - - { os: windows-2025, ruby: truffleruby+graalvm-head } - - { os: windows-11-arm, ruby: truffleruby+graalvm-head } + # https://github.com/ruby/setup-ruby/issues/496 + - { os: ubuntu-22.04, ruby: "2.2" } + - { os: ubuntu-24.04, ruby: "1.9" } + - { os: ubuntu-24.04, ruby: "2.2" } + # These old Rubies fail to compile on macOS arm64 + - { 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-15, ruby: "1.9" } + - { os: macos-15, ruby: "2.0" } + - { os: macos-15, ruby: "2.1" } + - { os: macos-15, ruby: "2.2" } + - { os: macos-15, ruby: "2.3" } + - { os: macos-15, ruby: "2.4" } + - { os: macos-15, ruby: "2.5" } + # These old Rubies fail to compile or segfault on Linux arm64 + - { os: ubuntu-22.04-arm, ruby: "1.9" } + - { os: ubuntu-22.04-arm, ruby: "2.0" } + - { os: ubuntu-22.04-arm, ruby: "2.1" } + - { os: ubuntu-22.04-arm, ruby: "2.2" } + - { os: ubuntu-24.04-arm, ruby: "1.9" } + - { os: ubuntu-24.04-arm, ruby: "2.0" } + - { os: ubuntu-24.04-arm, ruby: "2.1" } + - { os: ubuntu-24.04-arm, ruby: "2.2" } + # RubyInstaller windows-arm64 builds only exist for Ruby 3.4+ + - { os: windows-11-arm, ruby: "2.0" } + - { os: windows-11-arm, ruby: "2.1" } + - { os: windows-11-arm, ruby: "2.2" } + - { os: windows-11-arm, ruby: "2.3" } + - { os: windows-11-arm, ruby: "2.4" } + - { os: windows-11-arm, ruby: "2.5" } + - { os: windows-11-arm, ruby: "2.6" } + - { os: windows-11-arm, ruby: "2.7" } + - { os: windows-11-arm, ruby: "3.0" } + - { os: windows-11-arm, ruby: "3.1" } + - { os: windows-11-arm, ruby: "3.2" } + - { os: windows-11-arm, ruby: "3.3" } + # RubyInstaller has no 64-bit builds of 1.9 on Windows + - { os: windows-2022, ruby: "1.9" } + - { os: windows-2025, ruby: "1.9" } + - { os: windows-11-arm, ruby: "1.9" } + # TruffleRuby does not support Windows + - { os: windows-2022, ruby: truffleruby } + - { os: windows-2025, ruby: truffleruby } + - { os: windows-11-arm, ruby: truffleruby } + - { os: windows-2022, ruby: truffleruby-head } + - { os: windows-2025, ruby: truffleruby-head } + - { os: windows-11-arm, ruby: truffleruby-head } + - { os: windows-2022, ruby: truffleruby+graalvm } + - { os: windows-2025, ruby: truffleruby+graalvm } + - { os: windows-11-arm, ruby: truffleruby+graalvm } + - { os: windows-2022, ruby: truffleruby+graalvm-head } + - { os: windows-2025, ruby: truffleruby+graalvm-head } + - { os: windows-11-arm, ruby: truffleruby+graalvm-head } name: ${{ matrix.os }} ${{ matrix.ruby }} runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - - uses: ./ - with: - ruby-version: ${{ matrix.ruby }} - bundler-cache: true - - run: ruby -v - - name: PATH - shell: pwsh - run: | - # Show PATH with Powershell - $f, $r = $env:PATH.split([IO.Path]::PathSeparator); $r + - uses: ./ + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - run: ruby -v + - name: PATH + shell: pwsh + run: | + # Show PATH with Powershell + $f, $r = $env:PATH.split([IO.Path]::PathSeparator); $r - - name: build compiler - run: | - ruby -e "puts 'build compiler: ' + RbConfig::CONFIG.fetch('CC_VERSION_MESSAGE', 'unknown').lines.first" - - name: gcc and ridk version (mingw) - if: startsWith(matrix.os, 'windows') - run: | - $abi, $plat = $(ruby -e "STDOUT.write RbConfig::CONFIG['ruby_version'] + ' ' + RUBY_PLATFORM").split(' ') - if ($plat.Contains('mingw')) { - gcc --version - if ($abi -ge '2.4') { - ridk version - } else { - echo 'ridk is unavailable' + - name: build compiler + run: | + ruby -e "puts 'build compiler: ' + RbConfig::CONFIG.fetch('CC_VERSION_MESSAGE', 'unknown').lines.first" + - name: gcc and ridk version (mingw) + if: startsWith(matrix.os, 'windows') + run: | + $abi, $plat = $(ruby -e "STDOUT.write RbConfig::CONFIG['ruby_version'] + ' ' + RUBY_PLATFORM").split(' ') + if ($plat.Contains('mingw')) { + gcc --version + if ($abi -ge '2.4') { + ridk version + } else { + echo 'ridk is unavailable' + } + } elseif ($plat.Contains('mswin')) { + Get-ChildItem "$env:VCPKG_INSTALLATION_ROOT\installed\vcpkg\info" } - } elseif ($plat.Contains('mswin')) { - Get-ChildItem "$env:VCPKG_INSTALLATION_ROOT\installed\vcpkg\info" - } - - name: RbConfig::CONFIG - run: ruby -rrbconfig -rpp -e 'pp RbConfig::CONFIG' - - name: RbConfig::MAKEFILE_CONFIG - run: ruby -rrbconfig -rpp -e 'pp RbConfig::MAKEFILE_CONFIG' + - name: RbConfig::CONFIG + run: ruby -rrbconfig -rpp -e 'pp RbConfig::CONFIG' + - name: RbConfig::MAKEFILE_CONFIG + run: ruby -rrbconfig -rpp -e 'pp RbConfig::MAKEFILE_CONFIG' - - name: Subprocess test - run: ruby test_subprocess.rb - - name: OpenSSL compiled version - run: ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION' - - name: OpenSSL loaded version - run: ruby -ropenssl -e 'puts OpenSSL::OPENSSL_LIBRARY_VERSION' - if: matrix.ruby != '1.9' - - name: OpenSSL test - run: ruby -ropen-uri -e 'puts URI.send(:open, %{https://rubygems.org/}) { |f| f.read(1024) }' + - name: Subprocess test + run: ruby test_subprocess.rb + - name: OpenSSL compiled version + run: ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION' + - name: OpenSSL loaded version + run: ruby -ropenssl -e 'puts OpenSSL::OPENSSL_LIBRARY_VERSION' + if: matrix.ruby != '1.9' + - name: OpenSSL test + run: ruby -ropen-uri -e 'puts URI.send(:open, %{https://rubygems.org/}) { |f| f.read(1024) }' - - run: gem env - - name: C extension test - run: gem install json -v 2.2.0 - - run: bundle --version - # This step is redundant with `bundler-cache: true` but is there to check a redundant `bundle install` still works - - run: bundle install - - run: bundle exec rake --version - - run: bundle exec rake + - run: gem env + - name: C extension test + run: gem install json -v 2.2.0 + - run: bundle --version + # This step is redundant with `bundler-cache: true` but is there to check a redundant `bundle install` still works + - run: bundle install + - run: bundle exec rake --version + - run: bundle exec rake - # Ensure the same bundle commands work in bash on Windows - - name: bundle install (bash) - run: bundle install - shell: bash - if: startsWith(matrix.os, 'windows') - - name: bundle exec rake --version (bash) - run: bundle exec rake --version - shell: bash - if: startsWith(matrix.os, 'windows') - - name: bundle exec rake (bash) - run: bundle exec rake - shell: bash - if: startsWith(matrix.os, 'windows') + # Ensure the same bundle commands work in bash on Windows + - name: bundle install (bash) + run: bundle install + shell: bash + if: startsWith(matrix.os, 'windows') + - name: bundle exec rake --version (bash) + run: bundle exec rake --version + shell: bash + if: startsWith(matrix.os, 'windows') + - name: bundle exec rake (bash) + run: bundle exec rake + shell: bash + if: startsWith(matrix.os, 'windows') - - name: Test `gem github:` in a Gemfile - run: bundle install - env: - BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/gem_from_github.gemfile + - name: Test `gem github:` in a Gemfile + run: bundle install + env: + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/gem_from_github.gemfile - - name: which ruby - shell: bash - run: which -a ruby - - name: which bundle - shell: bash - run: which -a bundle - # https://github.com/ruby/setup-ruby/issues/658 - if: "matrix.ruby != 'mingw' && matrix.ruby != 'mswin' && matrix.ruby != 'ucrt'" - - name: which rake - run: which -a rake - if: "!startsWith(matrix.os, 'windows')" - - name: where ruby, rake, bundle - if: startsWith(matrix.os, 'windows') - run: | - $ErrorActionPreference = 'Continue' - $where = 'ruby', 'rake', 'bundle' - foreach ($e in $where) { - $rslt = where.exe $e 2>&1 | Out-String - if ($rslt.contains($e)) { echo $rslt.Trim() } - else { echo "Can't find $e" } - echo '' - } - - name: bash test - shell: bash - run: echo ~ && bundle install - - name: Windows JRuby - # Should be startsWith(matrix.ruby, 'jruby') but broken on jruby-head: https://github.com/jruby/jruby/issues/8623 - if: startsWith(matrix.os, 'windows') && matrix.ruby == 'jruby' - run: gem install sassc + - name: which ruby + shell: bash + run: which -a ruby + - name: which bundle + shell: bash + run: which -a bundle + # https://github.com/ruby/setup-ruby/issues/658 + if: "matrix.ruby != 'mingw' && matrix.ruby != 'mswin' && matrix.ruby != 'ucrt'" + - name: which rake + run: which -a rake + if: "!startsWith(matrix.os, 'windows')" + - name: where ruby, rake, bundle + if: startsWith(matrix.os, 'windows') + run: | + $ErrorActionPreference = 'Continue' + $where = 'ruby', 'rake', 'bundle' + foreach ($e in $where) { + $rslt = where.exe $e 2>&1 | Out-String + if ($rslt.contains($e)) { echo $rslt.Trim() } + else { echo "Can't find $e" } + echo '' + } + - name: bash test + shell: bash + run: echo ~ && bundle install + - name: Windows JRuby + if: startsWith(matrix.os, 'windows') && startsWith(matrix.ruby, 'jruby') + run: gem install sassc testDotRubyVersion: name: "Test .ruby-version" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - run: echo "ruby-3.4.0" > .ruby-version - uses: ./ - run: ruby -v | grep -F "ruby 3.4.0" @@ -215,7 +242,7 @@ jobs: name: "Test .tool-versions" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - run: echo -e "nodejs 16.0.0\nruby 3.4.0" > .tool-versions - uses: ./ - run: ruby -v | grep -F "ruby 3.4.0" @@ -224,7 +251,7 @@ jobs: name: "Test mise.toml" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - run: echo -e "[tools]\nnode = '18'\nruby = '3.4.0'" > mise.toml - uses: ./ - run: ruby -v | grep -F "ruby 3.4.0" @@ -233,22 +260,22 @@ jobs: name: "Test with no Gemfile" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - run: rm Gemfile - uses: ./ with: - ruby-version: '2.6' + ruby-version: "2.6" - run: ruby -v testNoGemfileWithBundlerCache: name: "Test with no Gemfile but with bundler-cache" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - run: rm Gemfile - uses: ./ with: - ruby-version: '2.6' + ruby-version: "2.6" bundler-cache: true - run: ruby -v @@ -259,51 +286,51 @@ jobs: fail-fast: false matrix: include: - - { ruby: '3.2', expected_rubygems_version: '3.6.1' } - - { ruby: '3.0', expected_rubygems_version: '3.5.23' } - - { ruby: '2.7', expected_rubygems_version: '3.4.22' } - - { ruby: '2.6', expected_rubygems_version: '3.4.22' } - - { ruby: '2.5', 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: "3.2", expected_rubygems_version: "3.6.1" } + - { ruby: "3.0", expected_rubygems_version: "3.5.23" } + - { ruby: "2.7", expected_rubygems_version: "3.4.22" } + - { ruby: "2.6", expected_rubygems_version: "3.4.22" } + - { ruby: "2.5", expected_rubygems_version: "3.3.27" } + - { ruby: "2.3", expected_rubygems_version: "3.3.27" } + - { ruby: "2.0", expected_rubygems_version: "2.7.11" } steps: - - uses: actions/checkout@v4 - - uses: ./ - with: - ruby-version: ${{ matrix.ruby }} - rubygems: latest - - run: ruby -e 'puts Gem::VERSION; exit(Gem.rubygems_version >= Gem::Version.new("${{ matrix.expected_rubygems_version }}"))' + - uses: actions/checkout@v5 + - uses: ./ + with: + ruby-version: ${{ matrix.ruby }} + rubygems: latest + - run: ruby -e 'puts Gem::VERSION; exit(Gem.rubygems_version >= Gem::Version.new("${{ matrix.expected_rubygems_version }}"))' testFixedRubygemsVersionUpgrades: name: "Test rubygems: version upgrades RubyGems to that version if the default is older" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: ./ - with: - ruby-version: '2.6' - rubygems: 3.2.3 - - run: gem --version | grep -F "3.2.3" + - uses: actions/checkout@v5 + - uses: ./ + with: + ruby-version: "2.6" + rubygems: 3.2.3 + - run: gem --version | grep -F "3.2.3" testFixedRubygemsVersionNoop: name: "Test rubygems: version noops if the default is newer" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: ./ - with: - ruby-version: '3.1.0' - rubygems: 3.2.3 - - run: gem --version | grep -F "3.3.3" + - uses: actions/checkout@v5 + - uses: ./ + with: + ruby-version: "3.1.0" + rubygems: 3.2.3 + - run: gem --version | grep -F "3.3.3" testUseBundlerFromRubyGemsUpdate: name: "Test rubygems: version uses the Bundler installed by the rubygems update" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./ with: - ruby-version: '3.1.0' + ruby-version: "3.1.0" rubygems: 3.4.0 - run: gem --version | grep -F "3.4.0" - run: bundle --version | grep -F "2.4.0" @@ -312,10 +339,10 @@ jobs: name: "Test bundler: 1.x for old Ruby" runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./ with: - ruby-version: '2.3' + ruby-version: "2.3" bundler: 1.16.6 - run: bundle --version | grep -F "1.16.6" # And not 1.17.x from ~> 1 @@ -323,43 +350,43 @@ jobs: name: "Test with a major Bundler version" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: ./ - with: - ruby-version: '2.6' - bundler: 2 - - run: bundle --version | grep -P "Bundler version 2\.\d+\.\d+" + - uses: actions/checkout@v5 + - uses: ./ + with: + ruby-version: "2.6" + bundler: 2 + - run: bundle --version | grep -P "Bundler version 2\.\d+\.\d+" testMinorBundlerVersion: name: "Test with a minor Bundler version" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: ./ - with: - ruby-version: '2.6' - bundler: 2.2 - - run: bundle --version | grep -P "Bundler version 2\.2\.\d+" + - uses: actions/checkout@v5 + - uses: ./ + with: + ruby-version: "2.6" + bundler: 2.2 + - run: bundle --version | grep -P "Bundler version 2\.2\.\d+" testExactBundlerVersion: name: "Test with an exact Bundler version" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: ./ - with: - ruby-version: '2.6' - bundler: 2.2.3 - - run: bundle --version | grep -F "Bundler version 2.2.3" + - uses: actions/checkout@v5 + - uses: ./ + with: + ruby-version: "2.6" + bundler: 2.2.3 + - run: bundle --version | grep -F "Bundler version 2.2.3" testBundlerPre: name: "Test with a Bundler pre/rc version" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./ with: - ruby-version: '2.6' + ruby-version: "2.6" bundler: 2.2.0.rc.2 - run: bundle --version | grep -F "Bundler version 2.2.0.rc.2" @@ -369,7 +396,7 @@ jobs: env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler-dev.gemfile steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./ with: ruby-version: ruby-head @@ -381,10 +408,10 @@ jobs: env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler1.gemfile steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./ with: - ruby-version: '2.7' + ruby-version: "2.7" bundler: 1 bundler-cache: true - run: bundle --version | grep -F "Bundler version 1." @@ -393,40 +420,27 @@ jobs: strategy: fail-fast: false matrix: - gemfile: [ rails7, rails8 ] + gemfile: [rails7, rails8] name: "Test with ${{ matrix.gemfile }} gemfile" runs-on: ubuntu-latest env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./ with: - ruby-version: '3.2' + ruby-version: "3.2" bundler-cache: true - run: bundle exec rails --version - testTruffleRubyNokogiri: - name: "Test installing a Gemfile with nokogiri on TruffleRuby" - runs-on: ubuntu-latest - env: - BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/nokogiri.gemfile - steps: - - uses: actions/checkout@v4 - - uses: ./ - with: - ruby-version: truffleruby-head - bundler-cache: true - - run: bundle list | grep nokogiri - testWindowsToolchain: name: "Test windows-toolchain: none" runs-on: windows-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ./ with: - ruby-version: '2.7' + ruby-version: "2.7" windows-toolchain: none bundler: none - name: C:/msys64/mingw64/bin/gcc.exe not installed @@ -435,8 +449,8 @@ jobs: lint: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 - - run: yarn install - - run: yarn run package - - name: Check generated files are up to date - run: git diff --exit-code + - uses: actions/checkout@v5 + - run: yarn install + - run: yarn run package + - name: Check generated files are up to date + run: git diff --exit-code diff --git a/.github/workflows/update-v1-branch.yml b/.github/workflows/update-v1-branch.yml index 6382676df..9ff06ada4 100644 --- a/.github/workflows/update-v1-branch.yml +++ b/.github/workflows/update-v1-branch.yml @@ -9,7 +9,7 @@ jobs: update_branch: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - run: git push origin HEAD:v1 diff --git a/README.md b/README.md index 1eeb590ad..7adb5e322 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@ 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.5.0-preview1, head, debug, mingw, mswin, ucrt | -| `jruby` | 9.1.17.0 - 10.0.1.0, head | -| `truffleruby` | 19.3.0 - 24.2.1, head | -| `truffleruby+graalvm` | 21.2.0 - 24.2.1, head | +| `jruby` | 9.1.17.0 - 10.0.2.0, head | +| `truffleruby` | 19.3.0 - 25.0.0, head | +| `truffleruby+graalvm` | 21.2.0 - 25.0.0, head | `ruby-debug` is the same as `ruby-head` but with assertions enabled (`-DRUBY_DEBUG=1`). @@ -76,7 +76,7 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ruby/setup-ruby@v1 with: ruby-version: '3.4' # Not needed with a .ruby-version, .tool-versions or mise.toml @@ -101,7 +101,7 @@ jobs: ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4', head, jruby, jruby-head, truffleruby, truffleruby-head] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} @@ -124,7 +124,7 @@ jobs: env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ruby/setup-ruby@v1 with: ruby-version: '3.4' diff --git a/bundler.js b/bundler.js index 816c56bf8..8e30223ae 100644 --- a/bundler.js +++ b/bundler.js @@ -48,16 +48,6 @@ function readBundledWithFromGemfileLock(lockFile) { return null } -async function afterLockFile(lockFile, platform, engine, rubyVersion) { - if (engine.startsWith('truffleruby') && common.floatVersion(rubyVersion) < 21.1 && platform.startsWith('ubuntu-')) { - const contents = fs.readFileSync(lockFile, 'utf8') - if (contents.includes('nokogiri')) { - await common.measure('Installing libxml2-dev libxslt-dev, required to install nokogiri on TruffleRuby < 21.1', async () => - exec.exec('sudo', ['apt-get', '-yqq', 'install', 'libxml2-dev', 'libxslt-dev'], { silent: true })) - } - } -} - export async function installBundler(bundlerVersionInput, rubygemsInputSet, lockFile, platform, rubyPrefix, engine, rubyVersion) { let bundlerVersion = bundlerVersionInput @@ -175,7 +165,8 @@ export async function bundleInstall(gemfile, lockFile, platform, engine, rubyVer await exec.exec('bundle', ['lock'], envOptions) } - await afterLockFile(lockFile, platform, engine, rubyVersion) + await core.group(`Print lockfile`, async () => + await exec.exec('cat', [lockFile])) // cache key const paths = [cachePath] diff --git a/common.js b/common.js index 72e2a9ceb..247d99eed 100644 --- a/common.js +++ b/common.js @@ -395,10 +395,15 @@ export async function setupJavaHome(rubyPrefix) { console.log("JRuby failed to start, try Java 21 envs") let arch = os.arch() - if (arch === "x64" || os.platform() !== "darwin") { + if (arch === "arm64" && os.platform() === "win32") { + arch = "AARCH64" + } else if (arch === "x64" || os.platform() !== "darwin") { arch = "X64" } + // JAVA_HOME_21_AARCH64 - https://github.com/actions/partner-runner-images/blob/main/images/arm-windows-11-image.md#java + // JAVA_HOME_21_arm64 - https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#java + // JAVA_HOME_21_X64 - https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md#java let newHomeVar = `JAVA_HOME_21_${arch}` let newHome = process.env[newHomeVar] diff --git a/dist/index.js b/dist/index.js index db6af1fb0..3a939bb14 100644 --- a/dist/index.js +++ b/dist/index.js @@ -62,16 +62,6 @@ function readBundledWithFromGemfileLock(lockFile) { return null } -async function afterLockFile(lockFile, platform, engine, rubyVersion) { - if (engine.startsWith('truffleruby') && common.floatVersion(rubyVersion) < 21.1 && platform.startsWith('ubuntu-')) { - const contents = fs.readFileSync(lockFile, 'utf8') - if (contents.includes('nokogiri')) { - await common.measure('Installing libxml2-dev libxslt-dev, required to install nokogiri on TruffleRuby < 21.1', async () => - exec.exec('sudo', ['apt-get', '-yqq', 'install', 'libxml2-dev', 'libxslt-dev'], { silent: true })) - } - } -} - async function installBundler(bundlerVersionInput, rubygemsInputSet, lockFile, platform, rubyPrefix, engine, rubyVersion) { let bundlerVersion = bundlerVersionInput @@ -189,7 +179,8 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b await exec.exec('bundle', ['lock'], envOptions) } - await afterLockFile(lockFile, platform, engine, rubyVersion) + await core.group(`Print lockfile`, async () => + await exec.exec('cat', [lockFile])) // cache key const paths = [cachePath] @@ -713,10 +704,15 @@ async function setupJavaHome(rubyPrefix) { console.log("JRuby failed to start, try Java 21 envs") let arch = os.arch() - if (arch === "x64" || os.platform() !== "darwin") { + if (arch === "arm64" && os.platform() === "win32") { + arch = "AARCH64" + } else if (arch === "x64" || os.platform() !== "darwin") { arch = "X64" } + // JAVA_HOME_21_AARCH64 - https://github.com/actions/partner-runner-images/blob/main/images/arm-windows-11-image.md#java + // JAVA_HOME_21_arm64 - https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#java + // JAVA_HOME_21_X64 - https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md#java let newHomeVar = `JAVA_HOME_21_${arch}` let newHome = process.env[newHomeVar] @@ -108011,7 +108007,6 @@ const tc = __nccwpck_require__(33472) const common = __nccwpck_require__(97211) const rubyBuilderVersions = __nccwpck_require__(91942) -const builderReleaseTag = 'toolcache' const releasesURL = 'https://github.com/ruby/ruby-builder/releases' const windows = common.windows @@ -108108,33 +108103,21 @@ async function downloadAndExtract(platform, engine, version, rubyPrefix) { function getDownloadURL(platform, engine, version) { let builderPlatform = null if (platform.startsWith('windows-')) { - if (os.arch() === 'x64') { - builderPlatform = 'windows-latest' - } else if (os.arch() === 'arm64') { - builderPlatform = 'windows-arm64' - } + builderPlatform = `windows-${os.arch()}` } else if (platform.startsWith('macos-')) { - if (os.arch() === 'x64') { - builderPlatform = 'macos-latest' - } else if (os.arch() === 'arm64') { - builderPlatform = 'macos-13-arm64' - } + builderPlatform = `darwin-${os.arch()}` } else if (platform.startsWith('ubuntu-')) { - if (os.arch() === 'x64') { - builderPlatform = platform - } else if (os.arch() === 'arm64') { - builderPlatform = `${platform}-arm64` - } + builderPlatform = `${platform}-${os.arch()}` } - if (builderPlatform === null) { - throw new Error(`Unknown download URL for platform ${platform}`) + if (builderPlatform === null || !['x64', 'arm64'].includes(os.arch())) { + throw new Error(`Unknown download URL for platform ${platform}-${os.arch()}`) } if (common.isHeadVersion(version)) { return getLatestHeadBuildURL(builderPlatform, engine, version) } else { - return `${releasesURL}/download/${builderReleaseTag}/${engine}-${version}-${builderPlatform}.tar.gz` + return `${releasesURL}/download/${engine}-${version}/${engine}-${version}-${builderPlatform}.tar.gz` } } @@ -143375,7 +143358,7 @@ module.exports = /*#__PURE__*/JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45 /***/ ((module) => { "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.2.9","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.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","10.0.1.0","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.2.9","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.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.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","9.4.14.0","10.0.0.0","10.0.0.1","10.0.1.0","10.0.2.0","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","25.0.0","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","25.0.0","head"]}'); /***/ }), @@ -143383,7 +143366,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"ruby":["1.9.3-p551","2.0.0-p648","2. /***/ ((module) => { "use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"2.0.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.1.9":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.2.6":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.3.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.3.1":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.3.3":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.4.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.10":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.10":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.2.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"},"3.3.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"},"3.4.1":{"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"},"3.4.2":{"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"},"3.4.3":{"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"},"3.4.4":{"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"},"3.4.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"},"head":{"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"},"mingw":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64.7z"},"mswin":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/vcpkg-x64-windows.7z"},"ucrt":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"}}'); +module.exports = /*#__PURE__*/JSON.parse('{"2.0.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.1.9":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.2.6":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.3.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.3.1":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.3.3":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/devkit-4.7.2/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe"},"2.4.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.4.10":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.5.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.6.10":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"2.7.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.0.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.1.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14-openssl@1.1.7z"},"3.2.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.2.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"},"3.3.0":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.1":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.2":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.3":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.4":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.5":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.6":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.7":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.8":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64-mingw-w64@r688-gcc@14.7z"},"3.3.9":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"},"3.4.1":{"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"},"3.4.2":{"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"},"3.4.3":{"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"},"3.4.4":{"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"},"3.4.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"},"3.4.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"},"3.4.7":{"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":{"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"},"mingw":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-mingw64.7z"},"mswin":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/vcpkg-x64-windows.7z"},"ucrt":{"x64":"https://github.com/ruby/setup-msys2-gcc/releases/latest/download/msys2-ucrt64.7z"}}'); /***/ }), @@ -143391,7 +143374,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"2.0.0":{"x64":"https://github.com/on /***/ ((module) => { "use strict"; -module.exports = /*#__PURE__*/JSON.parse('{"2.0.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.0.0-p648/ruby-2.0.0-p648-x64-mingw32.7z"},"2.1.9":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.1.9/ruby-2.1.9-x64-mingw32.7z"},"2.2.6":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.2.6/ruby-2.2.6-x64-mingw32.7z"},"2.3.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.3.0/ruby-2.3.0-x64-mingw32.7z"},"2.3.1":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.3.1/ruby-2.3.1-x64-mingw32.7z"},"2.3.3":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.3.3/ruby-2.3.3-x64-mingw32.7z"},"2.4.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/2.4.1-2/rubyinstaller-2.4.1-2-x64.7z"},"2.4.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.2-2/rubyinstaller-2.4.2-2-x64.7z"},"2.4.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.3-2/rubyinstaller-2.4.3-2-x64.7z"},"2.4.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.4-2/rubyinstaller-2.4.4-2-x64.7z"},"2.4.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.5-1/rubyinstaller-2.4.5-1-x64.7z"},"2.4.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.6-1/rubyinstaller-2.4.6-1-x64.7z"},"2.4.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.7-1/rubyinstaller-2.4.7-1-x64.7z"},"2.4.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.9-1/rubyinstaller-2.4.9-1-x64.7z"},"2.4.10":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.10-1/rubyinstaller-2.4.10-1-x64.7z"},"2.5.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.0-2/rubyinstaller-2.5.0-2-x64.7z"},"2.5.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.1-2/rubyinstaller-2.5.1-2-x64.7z"},"2.5.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.3-1/rubyinstaller-2.5.3-1-x64.7z"},"2.5.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.5-1/rubyinstaller-2.5.5-1-x64.7z"},"2.5.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.6-1/rubyinstaller-2.5.6-1-x64.7z"},"2.5.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.7-1/rubyinstaller-2.5.7-1-x64.7z"},"2.5.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.8-2/rubyinstaller-2.5.8-2-x64.7z"},"2.5.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.9-1/rubyinstaller-2.5.9-1-x64.7z"},"2.6.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.0-1/rubyinstaller-2.6.0-1-x64.7z"},"2.6.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.1-1/rubyinstaller-2.6.1-1-x64.7z"},"2.6.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.2-1/rubyinstaller-2.6.2-1-x64.7z"},"2.6.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.3-1/rubyinstaller-2.6.3-1-x64.7z"},"2.6.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.4-1/rubyinstaller-2.6.4-1-x64.7z"},"2.6.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.5-1/rubyinstaller-2.6.5-1-x64.7z"},"2.6.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.6-2/rubyinstaller-2.6.6-2-x64.7z"},"2.6.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.7-1/rubyinstaller-2.6.7-1-x64.7z"},"2.6.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.8-1/rubyinstaller-2.6.8-1-x64.7z"},"2.6.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.9-1/rubyinstaller-2.6.9-1-x64.7z"},"2.6.10":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.10-1/rubyinstaller-2.6.10-1-x64.7z"},"2.7.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.0-1/rubyinstaller-2.7.0-1-x64.7z"},"2.7.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.1-1/rubyinstaller-2.7.1-1-x64.7z"},"2.7.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.2-1/rubyinstaller-2.7.2-1-x64.7z"},"2.7.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.3-1/rubyinstaller-2.7.3-1-x64.7z"},"2.7.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.4-1/rubyinstaller-2.7.4-1-x64.7z"},"2.7.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.5-1/rubyinstaller-2.7.5-1-x64.7z"},"2.7.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.6-1/rubyinstaller-2.7.6-1-x64.7z"},"2.7.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.7-1/rubyinstaller-2.7.7-1-x64.7z"},"2.7.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.8-1/rubyinstaller-2.7.8-1-x64.7z"},"3.0.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.0-1/rubyinstaller-3.0.0-1-x64.7z"},"3.0.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.1-1/rubyinstaller-3.0.1-1-x64.7z"},"3.0.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.2-1/rubyinstaller-3.0.2-1-x64.7z"},"3.0.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.3-1/rubyinstaller-3.0.3-1-x64.7z"},"3.0.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.4-1/rubyinstaller-3.0.4-1-x64.7z"},"3.0.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.5-1/rubyinstaller-3.0.5-1-x64.7z"},"3.0.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.6-1/rubyinstaller-3.0.6-1-x64.7z"},"3.0.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.7-1/rubyinstaller-3.0.7-1-x64.7z"},"3.1.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.0-1/rubyinstaller-3.1.0-1-x64.7z"},"3.1.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.1-1/rubyinstaller-3.1.1-1-x64.7z"},"3.1.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.2-1/rubyinstaller-3.1.2-1-x64.7z"},"3.1.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.3-1/rubyinstaller-3.1.3-1-x64.7z"},"3.1.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.4-1/rubyinstaller-3.1.4-1-x64.7z"},"3.1.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.5-1/rubyinstaller-3.1.5-1-x64.7z"},"3.1.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.6-1/rubyinstaller-3.1.6-1-x64.7z"},"3.1.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.7-1/rubyinstaller-3.1.7-1-x64.7z"},"3.2.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.0-1/rubyinstaller-3.2.0-1-x64.7z"},"3.2.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.1-1/rubyinstaller-3.2.1-1-x64.7z"},"3.2.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.2-1/rubyinstaller-3.2.2-1-x64.7z"},"3.2.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.3-1/rubyinstaller-3.2.3-1-x64.7z"},"3.2.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.4-1/rubyinstaller-3.2.4-1-x64.7z"},"3.2.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.5-1/rubyinstaller-3.2.5-1-x64.7z"},"3.2.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.6-1/rubyinstaller-3.2.6-1-x64.7z"},"3.2.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.7-1/rubyinstaller-3.2.7-1-x64.7z"},"3.2.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.8-1/rubyinstaller-3.2.8-1-x64.7z"},"3.2.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.9-1/rubyinstaller-3.2.9-1-x64.7z"},"3.3.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.0-1/rubyinstaller-3.3.0-1-x64.7z"},"3.3.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.1-1/rubyinstaller-3.3.1-1-x64.7z"},"3.3.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.2-1/rubyinstaller-3.3.2-1-x64.7z"},"3.3.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.3-1/rubyinstaller-3.3.3-1-x64.7z"},"3.3.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.4-1/rubyinstaller-3.3.4-1-x64.7z"},"3.3.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.5-1/rubyinstaller-3.3.5-1-x64.7z"},"3.3.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.6-2/rubyinstaller-3.3.6-2-x64.7z"},"3.3.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.7-1/rubyinstaller-3.3.7-1-x64.7z"},"3.3.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.8-1/rubyinstaller-3.3.8-1-x64.7z"},"3.3.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.9-1/rubyinstaller-3.3.9-1-x64.7z"},"3.4.1":{"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"},"3.4.2":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.2-1/rubyinstaller-3.4.2-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.2-1/rubyinstaller-3.4.2-1-x64.7z"},"3.4.3":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.3-1/rubyinstaller-3.4.3-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.3-1/rubyinstaller-3.4.3-1-x64.7z"},"3.4.4":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.4-2/rubyinstaller-3.4.4-2-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.4-2/rubyinstaller-3.4.4-2-x64.7z"},"3.4.5":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-x64.7z"},"head":{"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"},"mingw":{"x64":"https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mingw.7z"},"mswin":{"x64":"https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mswin.7z"},"ucrt":{"x64":"https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-ucrt.7z"}}'); +module.exports = /*#__PURE__*/JSON.parse('{"2.0.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.0.0-p648/ruby-2.0.0-p648-x64-mingw32.7z"},"2.1.9":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.1.9/ruby-2.1.9-x64-mingw32.7z"},"2.2.6":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.2.6/ruby-2.2.6-x64-mingw32.7z"},"2.3.0":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.3.0/ruby-2.3.0-x64-mingw32.7z"},"2.3.1":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.3.1/ruby-2.3.1-x64-mingw32.7z"},"2.3.3":{"x64":"https://github.com/oneclick/rubyinstaller/releases/download/ruby-2.3.3/ruby-2.3.3-x64-mingw32.7z"},"2.4.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/2.4.1-2/rubyinstaller-2.4.1-2-x64.7z"},"2.4.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.2-2/rubyinstaller-2.4.2-2-x64.7z"},"2.4.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.3-2/rubyinstaller-2.4.3-2-x64.7z"},"2.4.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.4-2/rubyinstaller-2.4.4-2-x64.7z"},"2.4.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.4.5-1/rubyinstaller-2.4.5-1-x64.7z"},"2.4.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.6-1/rubyinstaller-2.4.6-1-x64.7z"},"2.4.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.7-1/rubyinstaller-2.4.7-1-x64.7z"},"2.4.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.9-1/rubyinstaller-2.4.9-1-x64.7z"},"2.4.10":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.4.10-1/rubyinstaller-2.4.10-1-x64.7z"},"2.5.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.0-2/rubyinstaller-2.5.0-2-x64.7z"},"2.5.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.1-2/rubyinstaller-2.5.1-2-x64.7z"},"2.5.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-2.5.3-1/rubyinstaller-2.5.3-1-x64.7z"},"2.5.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.5-1/rubyinstaller-2.5.5-1-x64.7z"},"2.5.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.6-1/rubyinstaller-2.5.6-1-x64.7z"},"2.5.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.7-1/rubyinstaller-2.5.7-1-x64.7z"},"2.5.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.8-2/rubyinstaller-2.5.8-2-x64.7z"},"2.5.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.5.9-1/rubyinstaller-2.5.9-1-x64.7z"},"2.6.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.0-1/rubyinstaller-2.6.0-1-x64.7z"},"2.6.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.1-1/rubyinstaller-2.6.1-1-x64.7z"},"2.6.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.2-1/rubyinstaller-2.6.2-1-x64.7z"},"2.6.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.3-1/rubyinstaller-2.6.3-1-x64.7z"},"2.6.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.4-1/rubyinstaller-2.6.4-1-x64.7z"},"2.6.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.5-1/rubyinstaller-2.6.5-1-x64.7z"},"2.6.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.6-2/rubyinstaller-2.6.6-2-x64.7z"},"2.6.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.7-1/rubyinstaller-2.6.7-1-x64.7z"},"2.6.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.8-1/rubyinstaller-2.6.8-1-x64.7z"},"2.6.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.9-1/rubyinstaller-2.6.9-1-x64.7z"},"2.6.10":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.10-1/rubyinstaller-2.6.10-1-x64.7z"},"2.7.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.0-1/rubyinstaller-2.7.0-1-x64.7z"},"2.7.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.1-1/rubyinstaller-2.7.1-1-x64.7z"},"2.7.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.2-1/rubyinstaller-2.7.2-1-x64.7z"},"2.7.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.3-1/rubyinstaller-2.7.3-1-x64.7z"},"2.7.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.4-1/rubyinstaller-2.7.4-1-x64.7z"},"2.7.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.5-1/rubyinstaller-2.7.5-1-x64.7z"},"2.7.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.6-1/rubyinstaller-2.7.6-1-x64.7z"},"2.7.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.7-1/rubyinstaller-2.7.7-1-x64.7z"},"2.7.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.8-1/rubyinstaller-2.7.8-1-x64.7z"},"3.0.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.0-1/rubyinstaller-3.0.0-1-x64.7z"},"3.0.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.1-1/rubyinstaller-3.0.1-1-x64.7z"},"3.0.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.2-1/rubyinstaller-3.0.2-1-x64.7z"},"3.0.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.3-1/rubyinstaller-3.0.3-1-x64.7z"},"3.0.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.4-1/rubyinstaller-3.0.4-1-x64.7z"},"3.0.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.5-1/rubyinstaller-3.0.5-1-x64.7z"},"3.0.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.6-1/rubyinstaller-3.0.6-1-x64.7z"},"3.0.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.0.7-1/rubyinstaller-3.0.7-1-x64.7z"},"3.1.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.0-1/rubyinstaller-3.1.0-1-x64.7z"},"3.1.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.1-1/rubyinstaller-3.1.1-1-x64.7z"},"3.1.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.2-1/rubyinstaller-3.1.2-1-x64.7z"},"3.1.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.3-1/rubyinstaller-3.1.3-1-x64.7z"},"3.1.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.4-1/rubyinstaller-3.1.4-1-x64.7z"},"3.1.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.5-1/rubyinstaller-3.1.5-1-x64.7z"},"3.1.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.6-1/rubyinstaller-3.1.6-1-x64.7z"},"3.1.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.1.7-1/rubyinstaller-3.1.7-1-x64.7z"},"3.2.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.0-1/rubyinstaller-3.2.0-1-x64.7z"},"3.2.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.1-1/rubyinstaller-3.2.1-1-x64.7z"},"3.2.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.2-1/rubyinstaller-3.2.2-1-x64.7z"},"3.2.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.3-1/rubyinstaller-3.2.3-1-x64.7z"},"3.2.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.4-1/rubyinstaller-3.2.4-1-x64.7z"},"3.2.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.5-1/rubyinstaller-3.2.5-1-x64.7z"},"3.2.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.6-1/rubyinstaller-3.2.6-1-x64.7z"},"3.2.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.7-1/rubyinstaller-3.2.7-1-x64.7z"},"3.2.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.8-1/rubyinstaller-3.2.8-1-x64.7z"},"3.2.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.2.9-1/rubyinstaller-3.2.9-1-x64.7z"},"3.3.0":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.0-1/rubyinstaller-3.3.0-1-x64.7z"},"3.3.1":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.1-1/rubyinstaller-3.3.1-1-x64.7z"},"3.3.2":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.2-1/rubyinstaller-3.3.2-1-x64.7z"},"3.3.3":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.3-1/rubyinstaller-3.3.3-1-x64.7z"},"3.3.4":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.4-1/rubyinstaller-3.3.4-1-x64.7z"},"3.3.5":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.5-1/rubyinstaller-3.3.5-1-x64.7z"},"3.3.6":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.6-2/rubyinstaller-3.3.6-2-x64.7z"},"3.3.7":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.7-1/rubyinstaller-3.3.7-1-x64.7z"},"3.3.8":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.8-1/rubyinstaller-3.3.8-1-x64.7z"},"3.3.9":{"x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.9-1/rubyinstaller-3.3.9-1-x64.7z"},"3.4.1":{"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"},"3.4.2":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.2-1/rubyinstaller-3.4.2-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.2-1/rubyinstaller-3.4.2-1-x64.7z"},"3.4.3":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.3-1/rubyinstaller-3.4.3-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.3-1/rubyinstaller-3.4.3-1-x64.7z"},"3.4.4":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.4-2/rubyinstaller-3.4.4-2-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.4-2/rubyinstaller-3.4.4-2-x64.7z"},"3.4.5":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-x64.7z"},"3.4.6":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.6-1/rubyinstaller-3.4.6-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.6-1/rubyinstaller-3.4.6-1-x64.7z"},"3.4.7":{"arm64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.7-1/rubyinstaller-3.4.7-1-arm.7z","x64":"https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.7-1/rubyinstaller-3.4.7-1-x64.7z"},"head":{"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"},"mingw":{"x64":"https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mingw.7z"},"mswin":{"x64":"https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-mswin.7z"},"ucrt":{"x64":"https://github.com/MSP-Greg/ruby-loco/releases/download/ruby-master/ruby-ucrt.7z"}}'); /***/ }) @@ -143571,11 +143554,6 @@ async function setupRuby(options = {}) { if (inputs['bundler-cache'] === 'true') { await common.time('bundle install', async () => bundler.bundleInstall(gemfile, lockFile, platform, engine, version, bundlerVersion, inputs['cache-version'])) - - if (lockFile !== null && fs.existsSync(lockFile)) { - await core.group(`Print lockfile`, async () => - await exec.exec('cat', [lockFile])) - } } core.setOutput('ruby-prefix', rubyPrefix) diff --git a/gemfiles/nokogiri.gemfile b/gemfiles/nokogiri.gemfile deleted file mode 100644 index 26a4f1477..000000000 --- a/gemfiles/nokogiri.gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gem "nokogiri" diff --git a/index.js b/index.js index 2d29628d7..62e46feb9 100644 --- a/index.js +++ b/index.js @@ -99,11 +99,6 @@ export async function setupRuby(options = {}) { if (inputs['bundler-cache'] === 'true') { await common.time('bundle install', async () => bundler.bundleInstall(gemfile, lockFile, platform, engine, version, bundlerVersion, inputs['cache-version'])) - - if (lockFile !== null && fs.existsSync(lockFile)) { - await core.group(`Print lockfile`, async () => - await exec.exec('cat', [lockFile])) - } } core.setOutput('ruby-prefix', rubyPrefix) diff --git a/ruby-builder-versions.json b/ruby-builder-versions.json index 227b91a9f..f94f42ea5 100644 --- a/ruby-builder-versions.json +++ b/ruby-builder-versions.json @@ -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.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.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.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.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.5.0-preview1", "head", "debug", "asan", "3.4-asan" ], @@ -21,8 +21,8 @@ "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", "10.0.1.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", + "10.0.0.0", "10.0.0.1", "10.0.1.0", "10.0.2.0", "head" ], "truffleruby": [ @@ -32,6 +32,7 @@ "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", + "25.0.0", "head" ], "truffleruby+graalvm": [ @@ -39,6 +40,7 @@ "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", + "25.0.0", "head" ] } diff --git a/ruby-builder.js b/ruby-builder.js index 93a690960..c2d9713d5 100644 --- a/ruby-builder.js +++ b/ruby-builder.js @@ -8,7 +8,6 @@ const tc = require('@actions/tool-cache') const common = require('./common') const rubyBuilderVersions = require('./ruby-builder-versions') -const builderReleaseTag = 'toolcache' const releasesURL = 'https://github.com/ruby/ruby-builder/releases' const windows = common.windows @@ -105,33 +104,21 @@ async function downloadAndExtract(platform, engine, version, rubyPrefix) { function getDownloadURL(platform, engine, version) { let builderPlatform = null if (platform.startsWith('windows-')) { - if (os.arch() === 'x64') { - builderPlatform = 'windows-latest' - } else if (os.arch() === 'arm64') { - builderPlatform = 'windows-arm64' - } + builderPlatform = `windows-${os.arch()}` } else if (platform.startsWith('macos-')) { - if (os.arch() === 'x64') { - builderPlatform = 'macos-latest' - } else if (os.arch() === 'arm64') { - builderPlatform = 'macos-13-arm64' - } + builderPlatform = `darwin-${os.arch()}` } else if (platform.startsWith('ubuntu-')) { - if (os.arch() === 'x64') { - builderPlatform = platform - } else if (os.arch() === 'arm64') { - builderPlatform = `${platform}-arm64` - } + builderPlatform = `${platform}-${os.arch()}` } - if (builderPlatform === null) { - throw new Error(`Unknown download URL for platform ${platform}`) + if (builderPlatform === null || !['x64', 'arm64'].includes(os.arch())) { + throw new Error(`Unknown download URL for platform ${platform}-${os.arch()}`) } if (common.isHeadVersion(version)) { return getLatestHeadBuildURL(builderPlatform, engine, version) } else { - return `${releasesURL}/download/${builderReleaseTag}/${engine}-${version}-${builderPlatform}.tar.gz` + return `${releasesURL}/download/${engine}-${version}/${engine}-${version}-${builderPlatform}.tar.gz` } } diff --git a/windows-toolchain-versions.json b/windows-toolchain-versions.json index 70963314c..46409518e 100644 --- a/windows-toolchain-versions.json +++ b/windows-toolchain-versions.json @@ -256,6 +256,14 @@ "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" }, + "3.4.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" + }, + "3.4.7": { + "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": { "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" diff --git a/windows-versions.json b/windows-versions.json index cb42e0fa6..b5f94ff37 100644 --- a/windows-versions.json +++ b/windows-versions.json @@ -256,6 +256,14 @@ "arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-arm.7z", "x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.5-1/rubyinstaller-3.4.5-1-x64.7z" }, + "3.4.6": { + "arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.6-1/rubyinstaller-3.4.6-1-arm.7z", + "x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.6-1/rubyinstaller-3.4.6-1-x64.7z" + }, + "3.4.7": { + "arm64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.7-1/rubyinstaller-3.4.7-1-arm.7z", + "x64": "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.4.7-1/rubyinstaller-3.4.7-1-x64.7z" + }, "head": { "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"