Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion scripts/ci/check-changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,10 @@ def pull_request_problems(number: int, title: str, base: str, files: List[Change
if changed.status != "added" or owner is None or changed.filename[len(FRAGMENTS) + 1:] in IGNORED:
continue
if owner != str(number) and owner not in removed:
rest = changed.filename[len(FRAGMENTS) + 1:].partition(".")[2] or "<type>.md"
rest = changed.filename[len(FRAGMENTS) + 1:].partition(".")[2]
# A rest with no dot holds no type, so towncrier would refuse it as a suffix.
if "." not in rest:
rest = "<type>.md"
problems.append(f"{changed.filename} is not named for this pull request. "
f"Name it {FRAGMENTS}/{number}.{rest}")
return problems
Expand Down
9 changes: 6 additions & 3 deletions scripts/ci/test_check_changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,9 +238,12 @@ def test_an_orphan_fragment_on_main_is_refused(self):
problems = self.problems([changed("changelog.d/+theme.fixed.md")])
self.assertIn("Name it changelog.d/3600.fixed.md", problems[0])

def test_a_file_that_is_not_a_fragment_is_refused(self):
self.assertEqual(len(self.problems([changed("changelog.d/notes.txt")])), 1)
self.assertIn("Name it changelog.d/3600.<type>.md", self.problems([changed("changelog.d/notes")])[0])
def test_a_file_that_is_not_a_fragment_gets_the_type_placeholder(self):
for name in ("notes.txt", "README.md", "notes"):
with self.subTest(name=name):
problems = self.problems([changed(f"changelog.d/{name}")])
self.assertEqual(len(problems), 1)
self.assertIn("Name it changelog.d/3600.<type>.md", problems[0])

def test_gitkeep_is_not_a_fragment(self):
self.assertEqual(self.problems([changed("changelog.d/.gitkeep")]), [])
Expand Down
Loading