bin/gen_release_notes: Don't consider issues for other projects
We have enough commits in mesa that have external dependencies that we need to be sure that a Closes: https://... is actually for mesa and not for another project. Reviewed-by: Eric Engestrom <eric@engestrom.ch> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12201>
This commit is contained in:
parent
9dc3672b00
commit
30f7b55e47
|
@ -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
|
||||
|
|
|
@ -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(), ''))
|
||||
|
|
Loading…
Reference in New Issue