/
actions
/
setup-ruby
Обзор
Документация
Войти
/
actions
/
setup-ruby
Код
Вики
Пакеты
0
Релизы
0
Аналитика
master
versions-strings-for-builder.rb
35 строк
953 B
Benoit Daloze
Improve versions-strings-for-builder.rb
20 июн 2026, 16:21
20 июн 2026, 16:21
e1a3b10
Код
Авторство
О чём код?
require 'json' hash = File.read('ruby-builder-versions.json') versions = JSON.load(hash).transform_keys(&:to_sym) ONLY_LATEST_PATCH = ENV['ONLY_LATEST_PATCH'] def filter(versions) versions -= %w[head debug asan asan-release 3.5.0-preview1] 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 filter(versions[:truffleruby]).map { |v| "truffleruby-#{v}" }.join(', ') puts puts filter(versions[:"truffleruby+graalvm"]).map { |v| "truffleruby+graalvm-#{v}" }.join(', ') puts puts filter(versions[:jruby]).map { |v| "jruby-#{v}" }.join(', ') puts puts "For Windows:" puts filter(versions[:jruby]).join(', ')