From b3f517b9889c11367f2b73bdf3033d0e85680871 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Thu, 29 Dec 2022 23:46:51 +0000 Subject: [PATCH] gen_release_notes: include links in relnotes.rst when generating the new release note This is required to allow the docs to build, which in turn is required if we want to allow merge requests against release (staging) branches. Cc: mesa-stable Part-of: --- bin/gen_release_notes.py | 28 ++++++++++++++++++++++++++++ bin/post_version.py | 32 +------------------------------- 2 files changed, 29 insertions(+), 31 deletions(-) diff --git a/bin/gen_release_notes.py b/bin/gen_release_notes.py index 4416138915d85..c6dea67b4e76d 100755 --- a/bin/gen_release_notes.py +++ b/bin/gen_release_notes.py @@ -310,6 +310,31 @@ def get_features(is_point_release: bool) -> typing.Generator[str, None, None]: yield "None" +def update_release_notes_index(version: str) -> None: + relnotes_index_path = pathlib.Path('docs') / 'relnotes.rst' + + with relnotes_index_path.open('r') as f: + relnotes = f.readlines() + + new_relnotes = [] + first_list = True + second_list = True + for line in relnotes: + if first_list and line.startswith('-'): + first_list = False + new_relnotes.append(f'- :doc:`{version} release notes `\n') + if not first_list and second_list and line.startswith(' relnotes/'): + second_list = False + new_relnotes.append(f' relnotes/{version}\n') + new_relnotes.append(line) + + with relnotes_index_path.open('w') as f: + for line in new_relnotes: + f.write(line) + + subprocess.run(['git', 'add', relnotes_index_path]) + + async def main() -> None: v = pathlib.Path('VERSION') with v.open('rt') as f: @@ -349,6 +374,9 @@ async def main() -> None: return subprocess.run(['git', 'add', final]) + + update_release_notes_index(this_version) + subprocess.run(['git', 'commit', '-m', f'docs: add release notes for {this_version}']) diff --git a/bin/post_version.py b/bin/post_version.py index e2a3580e845b8..26a9f89936108 100755 --- a/bin/post_version.py +++ b/bin/post_version.py @@ -27,31 +27,6 @@ import pathlib import subprocess -def update_release_notes(version: str) -> None: - p = pathlib.Path('docs') / 'relnotes.rst' - - with open(p, 'r') as f: - relnotes = f.readlines() - - new_relnotes = [] - first_list = True - second_list = True - for line in relnotes: - if first_list and line.startswith('-'): - first_list = False - new_relnotes.append(f'- :doc:`{version} release notes `\n') - if not first_list and second_list and line.startswith(' relnotes/'): - second_list = False - new_relnotes.append(f' relnotes/{version}\n') - new_relnotes.append(line) - - with open(p, 'w') as f: - for line in new_relnotes: - f.write(line) - - subprocess.run(['git', 'add', p]) - - def update_calendar(version: str) -> None: p = pathlib.Path('docs') / 'release-calendar.csv' @@ -81,14 +56,9 @@ def main() -> None: args = parser.parse_args() update_calendar(args.version) - done = 'update calendar' - - if 'rc' not in args.version: - update_release_notes(args.version) - done += ' and link releases notes' subprocess.run(['git', 'commit', '-m', - f'docs: {done} for {args.version}']) + f'docs: update calendar for {args.version}']) if __name__ == "__main__":