From 46642e53af2ca6b4a86f16306be3a3d1655e32b7 Mon Sep 17 00:00:00 2001 From: Vasileios Karakasis Date: Wed, 8 Feb 2023 22:35:42 +0100 Subject: [PATCH 1/3] Improve the release note generation --- ci-scripts/genrelnotes.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ci-scripts/genrelnotes.py b/ci-scripts/genrelnotes.py index a3dfd6cbc9..0e7806cac3 100755 --- a/ci-scripts/genrelnotes.py +++ b/ci-scripts/genrelnotes.py @@ -40,12 +40,14 @@ def extract_release_notes(git_output, tag): sys.exit(1) titles = { - 'feat': '## New features and enhancements', + 'feat': '## New features', + 'enhancement': '## Enhancements', + 'doc': '## Enhancements', 'bugfix': '## Bug fixes', 'testlib': '## Test library' } sections = collections.OrderedDict() - for tag in ['feat', 'bugfix', 'testlib', 'ci', 'doc']: + for tag in ['feat', 'enhancement', 'doc', 'bugfix', 'testlib', 'ci']: title_line = titles.get(tag, '## Other') sections.setdefault(title_line, []) for pr, descr in extract_release_notes(completed.stdout, tag): @@ -54,6 +56,9 @@ def extract_release_notes(git_output, tag): print('# Release Notes') for sec_title, sec_lines in sections.items(): + if not sec_lines: + continue + print() print(sec_title) print() From a0a711f7de9ddafe5fbb4b367dc053f51b4e8539 Mon Sep 17 00:00:00 2001 From: Vasileios Karakasis Date: Sat, 11 Feb 2023 21:06:53 +0100 Subject: [PATCH 2/3] List any unknown tag in the `Other` section --- ci-scripts/genrelnotes.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/ci-scripts/genrelnotes.py b/ci-scripts/genrelnotes.py index 0e7806cac3..81d84cae0e 100755 --- a/ci-scripts/genrelnotes.py +++ b/ci-scripts/genrelnotes.py @@ -15,8 +15,8 @@ def usage(): sys.stderr.write('Usage: %s PREV_RELEASE CURR_RELEASE\n' % sys.argv[0]) -def extract_release_notes(git_output, tag): - return re.findall(r'pull request (#\d+).*\s*\[%s\] (.*)' % tag, git_output) +def extract_release_notes(git_output): + return re.findall(r'pull request (#\d+).*\s*\[(\S+)\] (.*)', git_output) if __name__ == '__main__': @@ -39,20 +39,24 @@ def extract_release_notes(git_output, tag): sys.stderr.write(e.stdout) sys.exit(1) - titles = { + tag_mapping = { 'feat': '## New features', 'enhancement': '## Enhancements', 'doc': '## Enhancements', 'bugfix': '## Bug fixes', 'testlib': '## Test library' } - sections = collections.OrderedDict() - for tag in ['feat', 'enhancement', 'doc', 'bugfix', 'testlib', 'ci']: - title_line = titles.get(tag, '## Other') - sections.setdefault(title_line, []) - for pr, descr in extract_release_notes(completed.stdout, tag): - descr_line = '- %s (%s)' % (descr, pr) - sections[title_line].append(descr_line) + sections = { + '## New features': [], + '## Enhancements': [], + '## Bug fixes': [], + '## Test library': [], + '## Other': [] + } + for pr, tag, descr in extract_release_notes(completed.stdout): + title_line = tag_mapping.get(tag, '## Other') + descr_line = f'- {descr} ({pr})' + sections[title_line].append(descr_line) print('# Release Notes') for sec_title, sec_lines in sections.items(): From 8b40631aa51cfc91873bc678caad8b8c5aa6b1a3 Mon Sep 17 00:00:00 2001 From: Vasileios Karakasis Date: Sat, 11 Feb 2023 21:22:30 +0100 Subject: [PATCH 3/3] Remove unused imports --- ci-scripts/genrelnotes.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ci-scripts/genrelnotes.py b/ci-scripts/genrelnotes.py index 81d84cae0e..cea99b046a 100755 --- a/ci-scripts/genrelnotes.py +++ b/ci-scripts/genrelnotes.py @@ -5,7 +5,6 @@ # # SPDX-License-Identifier: BSD-3-Clause -import collections import re import sys import subprocess