mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 22:44:20 +02:00
Improve script for listing versions
This commit is contained in:
@@ -2,21 +2,32 @@ require 'json'
|
||||
hash = File.read('ruby-builder-versions.json')
|
||||
versions = JSON.load(hash).transform_keys(&:to_sym)
|
||||
|
||||
by_minor = versions[:ruby].group_by { |v| v[/^\d\.\d/] }
|
||||
ONLY_LATEST_PATCH = ENV['ONLY_LATEST_PATCH']
|
||||
|
||||
by_minor.each_pair do |minor, versions|
|
||||
puts versions.map { |v| "ruby-#{v}" }.join(', ') if minor
|
||||
def filter(versions)
|
||||
versions -= %w[head]
|
||||
if ONLY_LATEST_PATCH
|
||||
versions = versions.group_by { |v| v[/^\d+\.\d+/] }.map { _2.last }
|
||||
end
|
||||
versions
|
||||
end
|
||||
|
||||
if ONLY_LATEST_PATCH
|
||||
puts filter(versions[:ruby]).map { |v| "ruby-#{v}" }.join(', ')
|
||||
else
|
||||
by_minor = versions[:ruby].group_by { |v| v[/^\d+\.\d+/] }
|
||||
by_minor.each_pair do |minor, versions|
|
||||
puts versions.map { |v| "ruby-#{v}" }.join(', ') if minor
|
||||
end
|
||||
end
|
||||
|
||||
puts
|
||||
puts (versions[:truffleruby] - %w[head]).map { |v| "truffleruby-#{v}" }.join(', ')
|
||||
puts filter(versions[:truffleruby]).map { |v| "truffleruby-#{v}" }.join(', ')
|
||||
|
||||
puts
|
||||
puts (versions[:"truffleruby+graalvm"] - %w[head]).map { |v| "truffleruby+graalvm-#{v}" }.join(', ')
|
||||
puts filter(versions[:"truffleruby+graalvm"]).map { |v| "truffleruby+graalvm-#{v}" }.join(', ')
|
||||
|
||||
puts
|
||||
puts (versions[:jruby] - %w[head]).map { |v| "jruby-#{v}" }.join(', ')
|
||||
|
||||
(versions[:jruby] - %w[head]).each do |v|
|
||||
puts "- { os: windows-latest, jruby-version: #{v}, ruby: jruby-#{v} }"
|
||||
end
|
||||
puts filter(versions[:jruby]).map { |v| "jruby-#{v}" }.join(', ')
|
||||
puts "For Windows:"
|
||||
puts filter(versions[:jruby]).join(', ')
|
||||
|
||||
Reference in New Issue
Block a user