diff --git a/bin/gen_release_notes.py b/bin/gen_release_notes.py index 54af4970157..07cd3817157 100755 --- a/bin/gen_release_notes.py +++ b/bin/gen_release_notes.py @@ -175,7 +175,7 @@ inliner = Inliner(); async def gather_commits(version: str) -> str: p = await asyncio.create_subprocess_exec( - 'git', 'log', '--oneline', f'mesa-{version}..', '--grep', r'\(Closes\|Fixes\): \(https\|#\).*', + 'git', 'log', '--oneline', f'mesa-{version}..', '-i', '--grep', r'\(Closes\|Fixes\): \(https\|#\).*', stdout=asyncio.subprocess.PIPE) out, _ = await p.communicate() assert p.returncode == 0, f"git log didn't work: {version}" @@ -193,7 +193,7 @@ async def parse_issues(commits: str) -> typing.List[str]: out = _out.decode().split('\n') for line in reversed(out): - if not line.startswith(('Closes:', 'Fixes:')): + if not line.lower().startswith(('closes:', 'fixes:')): continue bug = line.split(':', 1)[1].strip() if (bug.startswith('https://gitlab.freedesktop.org/mesa/mesa') diff --git a/bin/gen_release_notes_test.py b/bin/gen_release_notes_test.py index 8ab76e451e6..bccbaf9fb92 100644 --- a/bin/gen_release_notes_test.py +++ b/bin/gen_release_notes_test.py @@ -176,6 +176,17 @@ async def test_gather_commits(): ''', ['36', '37'], ), + ( + '''\ + Parse Fixes/Closes in weird cases + + fixes: https://gitlab.freedesktop.org/mesa/mesa/issues/36 + fiXES: https://gitlab.freedesktop.org/mesa/mesa/issues/37 + closes: https://gitlab.freedesktop.org/mesa/mesa/issues/38 + cloSES: https://gitlab.freedesktop.org/mesa/mesa/issues/39 + ''', + ['36', '37', '38', '39'], + ), ]) async def test_parse_issues(content: str, bugs: typing.List[str]) -> None: mock_com = mock.AsyncMock(return_value=(textwrap.dedent(content).encode(), ''))