Merge pull request #11569 from MikeMcQuaid/cleanup_release_notes
release_notes: refactor/cleanup.
This commit is contained in:
commit
4f33c2cbb4
@ -71,7 +71,7 @@ module Homebrew
|
||||
latest_major_minor_version = "#{latest_version.major}.#{latest_version.minor.to_i}.0"
|
||||
ohai "Release notes since #{latest_major_minor_version} for #{new_version} blog post:"
|
||||
# release notes without username suffix or dependabot bumps
|
||||
puts ReleaseNotes.generate_release_notes(latest_major_minor_version, "origin/HEAD", markdown: true)
|
||||
puts ReleaseNotes.generate_release_notes(latest_major_minor_version, "origin/HEAD")
|
||||
.lines
|
||||
.reject { |l| l.include?(" (@Homebrew)") }
|
||||
.map { |l| l.gsub(/ \(@[\w-]+\)$/, "") }
|
||||
@ -85,7 +85,7 @@ module Homebrew
|
||||
else
|
||||
""
|
||||
end
|
||||
release_notes += ReleaseNotes.generate_release_notes latest_version, "origin/HEAD", markdown: true
|
||||
release_notes += ReleaseNotes.generate_release_notes latest_version, "origin/HEAD"
|
||||
|
||||
begin
|
||||
release = GitHub.create_or_update_release "Homebrew", "brew", new_version, body: release_notes, draft: true
|
||||
|
@ -14,27 +14,17 @@ module ReleaseNotes
|
||||
.returns(String)
|
||||
}
|
||||
def generate_release_notes(start_ref, end_ref, markdown: false)
|
||||
log_output = Utils.popen_read(
|
||||
Utils.popen_read(
|
||||
"git", "-C", HOMEBREW_REPOSITORY, "log", "--pretty=format:'%s >> - %b%n'", "#{start_ref}..#{end_ref}"
|
||||
).lines.grep(/Merge pull request/)
|
||||
|
||||
log_output.map! do |s|
|
||||
).lines.map do |s|
|
||||
matches = s.match(%r{.*Merge pull request #(?<pr>\d+) from (?<user>[^/]+)/[^>]*>> - (?<body>.*)})
|
||||
body = if matches[:body].empty?
|
||||
s.gsub(/.*(Merge pull request .*) >> - .*/, "\\1").chomp
|
||||
else
|
||||
matches[:body]
|
||||
end
|
||||
"https://github.com/Homebrew/brew/pull/#{matches[:pr]} (@#{matches[:user]}) - #{body}\n"
|
||||
end
|
||||
next if matches.blank?
|
||||
next if matches[:user] == "Homebrew"
|
||||
|
||||
if markdown
|
||||
log_output.map! do |s|
|
||||
/(.*\d)+ \(@(.+)\) - (.*)/ =~ s
|
||||
"- [#{Regexp.last_match(3)}](#{Regexp.last_match(1)}) (@#{Regexp.last_match(2)})\n"
|
||||
end
|
||||
end
|
||||
body = matches[:body].presence
|
||||
body ||= s.gsub(/.*(Merge pull request .*) >> - .*/, "\\1").chomp
|
||||
|
||||
log_output.join
|
||||
"- [#{body}](https://github.com/Homebrew/brew/pull/#{matches[:pr]}) (@#{matches[:user]})\n"
|
||||
end.compact.join
|
||||
end
|
||||
end
|
||||
|
@ -18,19 +18,10 @@ describe ReleaseNotes do
|
||||
end
|
||||
|
||||
describe ".generate_release_notes" do
|
||||
it "generates release notes" do
|
||||
expect(described_class.generate_release_notes("release-notes-testing", "HEAD")).to eq <<~NOTES
|
||||
https://github.com/Homebrew/brew/pull/3 (@User) - Merge pull request #3 from User/another_change
|
||||
https://github.com/Homebrew/brew/pull/2 (@User) - Do something else
|
||||
https://github.com/Homebrew/brew/pull/1 (@Homebrew) - Do something
|
||||
NOTES
|
||||
end
|
||||
|
||||
it "generates markdown release notes" do
|
||||
expect(described_class.generate_release_notes("release-notes-testing", "HEAD", markdown: true)).to eq <<~NOTES
|
||||
expect(described_class.generate_release_notes("release-notes-testing", "HEAD")).to eq <<~NOTES
|
||||
- [Merge pull request #3 from User/another_change](https://github.com/Homebrew/brew/pull/3) (@User)
|
||||
- [Do something else](https://github.com/Homebrew/brew/pull/2) (@User)
|
||||
- [Do something](https://github.com/Homebrew/brew/pull/1) (@Homebrew)
|
||||
NOTES
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user