Skip to content

Commit

Permalink
Merge pull request #4926 from nebulab/waiting-for-dev/adopt_changelog…
Browse files Browse the repository at this point in the history
…_format_from_gh

Use the same format as GitHub's default for the release notes
  • Loading branch information
kennyadsl committed Feb 10, 2023
2 parents f06fb16 + 1879d0d commit 1a64ca5
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 75 deletions.
16 changes: 11 additions & 5 deletions dev_tools/lib/solidus/release_drafter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,19 @@ def call(pr_number:, current_diff_source_tag:, candidate_tag:, branch:)
return if pr_labels.include?(SKIP_LABEL) || matching_labels.empty?

draft = @client.fetch_draft(tag: candidate_tag)
Builder.new(draft: draft, categories: LABELS.values, prepend: NO_EDIT_WARNING, append: full_changelog(current_diff_source_tag, candidate_tag))
Builder.new(
draft: draft,
categories: LABELS.values,
prepend: NO_EDIT_WARNING,
append: full_changelog(current_diff_source_tag, candidate_tag),
number_link_builder: number_link_builder
)
.then { |builder| add_pr(builder, pr, matching_labels) }
.then { |draft| save_release(draft, candidate_tag, branch) }
end

private

def builder(draft, current_diff_source_tag, candidate_tag)
Builder.new(draft: draft, categories: LABELS.values, prepend: NO_EDIT_WARNING, append: full_changelog(current_diff_source_tag, candidate_tag))
end

def add_pr(builder, pr, labels)
builder.add(
number: pr.number,
Expand All @@ -72,5 +74,9 @@ def full_changelog(current_diff_source_tag, candidate_tag)
**Full Changelog**: https://github.com/#{@repository}/compare/#{current_diff_source_tag}...#{candidate_tag}
TXT
end

def number_link_builder
->(number) { "https://github.com/#{@repository}/pull/#{number}" }
end
end
end
9 changes: 5 additions & 4 deletions dev_tools/lib/solidus/release_drafter/builder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,16 @@ class Builder

TITLE_SEPARATOR = SEPARATOR

ENTRY_TEMPLATE = lambda do |title, number, user|
"- #{title} ##{number} (@#{user})"
ENTRY_TEMPLATE = lambda do |title, link, user|
"* #{title} by @#{user} in #{link}"
end.freeze

ENTRY_SEPARATOR = SEPARATOR

SECTION_SEPARATOR = SEPARATOR + SEPARATOR

def initialize(draft:, categories:, prepend: '', append: '')
def initialize(draft:, categories:, number_link_builder:, prepend: '', append: '')
@number_link_builder = number_link_builder
@categories = Set[*categories]
@prepend = prepend
@prepend_pattern = /^#{Regexp.quote(@prepend)}/m
Expand All @@ -39,7 +40,7 @@ def initialize(draft:, categories:, prepend: '', append: '')
end

def add(title:, number:, user:, categories:)
ENTRY_TEMPLATE.(title, number, user)
ENTRY_TEMPLATE.(title, @number_link_builder.(number), user)
.then { |entry| add_to_ast(entry, categories) }
.then { |ast| @draft.with(content: unparse(ast)) }
end
Expand Down
Loading

0 comments on commit 1a64ca5

Please sign in to comment.