|
2 | 2 | hash = File.read('ruby-builder-versions.json')
|
3 | 3 | versions = JSON.load(hash).transform_keys(&:to_sym)
|
4 | 4 |
|
5 |
| -by_minor = versions[:ruby].group_by { |v| v[/^\d\.\d/] } |
| 5 | +ONLY_LATEST_PATCH = ENV['ONLY_LATEST_PATCH'] |
6 | 6 |
|
7 |
| -by_minor.each_pair do |minor, versions| |
8 |
| - puts versions.map { |v| "ruby-#{v}" }.join(', ') if minor |
| 7 | +def filter(versions) |
| 8 | + versions -= %w[head] |
| 9 | + if ONLY_LATEST_PATCH |
| 10 | + versions = versions.group_by { |v| v[/^\d+\.\d+/] }.map { _2.last } |
| 11 | + end |
| 12 | + versions |
9 | 13 | end
|
10 | 14 |
|
11 |
| -puts |
12 |
| -puts (versions[:truffleruby] - %w[head]).map { |v| "truffleruby-#{v}" }.join(', ') |
| 15 | +if ONLY_LATEST_PATCH |
| 16 | + puts filter(versions[:ruby]).map { |v| "ruby-#{v}" }.join(', ') |
| 17 | +else |
| 18 | + by_minor = versions[:ruby].group_by { |v| v[/^\d+\.\d+/] } |
| 19 | + by_minor.each_pair do |minor, versions| |
| 20 | + puts versions.map { |v| "ruby-#{v}" }.join(', ') if minor |
| 21 | + end |
| 22 | +end |
13 | 23 |
|
14 | 24 | puts
|
15 |
| -puts (versions[:"truffleruby+graalvm"] - %w[head]).map { |v| "truffleruby+graalvm-#{v}" }.join(', ') |
| 25 | +puts filter(versions[:truffleruby]).map { |v| "truffleruby-#{v}" }.join(', ') |
16 | 26 |
|
17 | 27 | puts
|
18 |
| -puts (versions[:jruby] - %w[head]).map { |v| "jruby-#{v}" }.join(', ') |
| 28 | +puts filter(versions[:"truffleruby+graalvm"]).map { |v| "truffleruby+graalvm-#{v}" }.join(', ') |
19 | 29 |
|
20 |
| -(versions[:jruby] - %w[head]).each do |v| |
21 |
| - puts "- { os: windows-latest, jruby-version: #{v}, ruby: jruby-#{v} }" |
22 |
| -end |
| 30 | +puts |
| 31 | +puts filter(versions[:jruby]).map { |v| "jruby-#{v}" }.join(', ') |
| 32 | +puts "For Windows:" |
| 33 | +puts filter(versions[:jruby]).join(', ') |
0 commit comments