mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 02:04:41 +08:00
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:
parent
13af997567
commit
b3f517b988
@ -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}'])
|
||||
|
||||
|
@ -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__":
|
||||
|
Loading…
Reference in New Issue
Block a user