Enhancement github releases generator
* Create GitHub Releases by itself * Added help and usage message * Decorate release body
This commit is contained in:
parent
2c8e4aa2a0
commit
07bf97e94f
@ -1,5 +1,11 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
if ARGV.size < 2
|
||||||
|
puts "Usage: #{$0} <from version tag> <to version tag> [--no-dry-run]"
|
||||||
|
puts " : if --no-dry-run is specified, it will create a release on GitHub"
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
|
||||||
require "bundler/inline"
|
require "bundler/inline"
|
||||||
|
|
||||||
gemfile do
|
gemfile do
|
||||||
@ -19,6 +25,8 @@ end
|
|||||||
|
|
||||||
client = Octokit::Client.new
|
client = Octokit::Client.new
|
||||||
|
|
||||||
|
note = "## What's Changed\n\n"
|
||||||
|
|
||||||
diff = client.compare("ruby/ruby", ARGV[0], ARGV[1])
|
diff = client.compare("ruby/ruby", ARGV[0], ARGV[1])
|
||||||
diff[:commits].each do |c|
|
diff[:commits].each do |c|
|
||||||
if c[:commit][:message] =~ /\[Backport #(\d*)\]/
|
if c[:commit][:message] =~ /\[Backport #(\d*)\]/
|
||||||
@ -32,8 +40,20 @@ diff[:commits].each do |c|
|
|||||||
else
|
else
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
puts "* [#{title}](#{url})"
|
note << "* [#{title}](#{url})\n"
|
||||||
rescue OpenURI::HTTPError
|
rescue OpenURI::HTTPError
|
||||||
puts "Error: #{url}"
|
puts "Error: #{url}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
note << "\n"
|
||||||
|
note << "Note: This list is automatically generated by tool/gen-github-release.rb. Because of this, some commits may be missing.\n\n"
|
||||||
|
note << "## Full Changelog\n\n"
|
||||||
|
note << "https://github.com/ruby/ruby/compare/#{ARGV[0]}...#{ARGV[1]}\n\n"
|
||||||
|
|
||||||
|
if ARGV[2] == "--no-dry-run"
|
||||||
|
name = ARGV[1].gsub(/v/, "").gsub(/_/, ".")
|
||||||
|
client.create_release("ruby/ruby", ARGV[1], name: name, body: note)
|
||||||
|
puts "Created a release: https://github.com/ruby/ruby/releases/tag/#{ARGV[1]}"
|
||||||
|
else
|
||||||
|
puts note
|
||||||
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user