From 32c0569c64d7b50e54f58efe35f42a63b61f3562 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sun, 23 Jan 2022 17:30:44 +0100 Subject: [PATCH] Automatically update the latest version in the README --- README.md | 2 +- new-version.rb | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e68131..6f91617 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ 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.1.0, head, debug, mingw, mswin | -| `jruby` | 9.1.17.0 - 9.3.2.0, head | +| `jruby` | 9.1.17.0 - 9.3.3.0, head | | `truffleruby` | 19.3.0 - 21.3.0, head | | `truffleruby+graalvm` | 21.2.0 - 21.3.0, head | diff --git a/new-version.rb b/new-version.rb index c25e486..325d179 100644 --- a/new-version.rb +++ b/new-version.rb @@ -9,6 +9,7 @@ end raise unless version[MATCH] +# Update ruby-builder-versions.json file = "#{__dir__}/ruby-builder-versions.json" lines = File.readlines(file, chomp: true) @@ -26,9 +27,23 @@ release_line = lines[from..to].find { |line| } if release_line - release_line << " #{version.inspect}," + append = " #{version.inspect}," + release_line << append unless release_line.end_with?(append) else lines.insert to+1, " #{version.inspect}," end File.write(file, lines.join("\n") + "\n") + +# Update README.md +file = "#{__dir__}/README.md" +lines = File.readlines(file) +engine_line = lines.find { |line| line.start_with?("| `#{engine}`") } +engine_line.sub!(/(.+ (?:-|until)) (\d+(?:\.\d+)+)/) do + if Gem::Version.new(version) > Gem::Version.new($2) + "#{$1} #{version}" + else + $& + end +end +File.write(file, lines.join)