diff --git a/bin/gen_release_notes.py b/bin/gen_release_notes.py index 7f62228d59a..bfc65ca92b7 100755 --- a/bin/gen_release_notes.py +++ b/bin/gen_release_notes.py @@ -198,10 +198,11 @@ async def parse_issues(commits: str) -> typing.List[str]: break else: raise Exception('No closes found?') - if bug.startswith('h'): + + if bug.startswith('https://gitlab.freedesktop.org/mesa/mesa'): # This means we have a bug in the form "Closes: https://..." issues.append(os.path.basename(urllib.parse.urlparse(bug).path)) - else: + elif bug.startswith('#'): issues.append(bug.lstrip('#')) return issues diff --git a/bin/gen_release_notes_test.py b/bin/gen_release_notes_test.py index eca0c4b8af4..194fbc745ac 100644 --- a/bin/gen_release_notes_test.py +++ b/bin/gen_release_notes_test.py @@ -77,6 +77,8 @@ async def test_gather_commits(): [ # It is important to have the title on a new line, as # textwrap.dedent wont work otherwise. + + # Test the `Closes: #N` syntax ( '''\ A commit @@ -87,6 +89,8 @@ async def test_gather_commits(): ''', ['1'], ), + + # Test the Full url ( '''\ A commit with no body @@ -95,6 +99,24 @@ async def test_gather_commits(): ''', ['3456'], ), + + # Test projects that are not mesa + ( + '''\ + A commit for libdrm + + Closes: https://gitlab.freedesktop.org/mesa/drm/-/3456 + ''', + [], + ), + ( + '''\ + A commit for for something else completely + + Closes: https://github.com/Organiztion/project/1234 + ''', + [], + ), ]) async def test_parse_issues(content: str, bugs: typing.List[str]) -> None: mock_com = mock.AsyncMock(return_value=(textwrap.dedent(content).encode(), ''))