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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20460>
This commit is contained in:
Eric Engestrom 2022-12-29 23:46:51 +00:00 committed by Marge Bot
parent 13af997567
commit b3f517b988
2 changed files with 29 additions and 31 deletions

View File

@ -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 <relnotes/{version}>`\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}'])

View File

@ -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 <relnotes/{version}>`\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__":