Skip to content

Commit

Permalink
Improve suffix parsing in issue_pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
dorschw committed Aug 6, 2024
1 parent 531ad17 commit b795310
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 9 deletions.
9 changes: 3 additions & 6 deletions src/towncrier/_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,13 +176,10 @@ def find_fragments(
# Use and increment the orphan news fragment counter.
counter = orphan_fragment_counter[category]
orphan_fragment_counter[category] += 1
if config.issue_pattern and (
not re.fullmatch(
config.issue_pattern, issue_name := Path(basename).stem
)
):

if config.issue_pattern and not re.fullmatch(config.issue_pattern, issue):
raise ClickException(
f"File name '{issue_name}' does not match the "
f"Issue name '{issue}' does not match the "
f"given issue pattern, '{config.issue_pattern}'"
)
full_filename = os.path.join(section_dir, basename)
Expand Down
1 change: 1 addition & 0 deletions src/towncrier/newsfragments/654.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed an issue where `issue_template` failed recognizing the issue name of files with a non-category suffix (`.md`)
10 changes: 7 additions & 3 deletions src/towncrier/test/test_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ def test_issue_pattern(self, runner):
extra_config='issue_pattern = "\\\\d+"',
)
write(
"foo/newsfragments/AAA.BBB.feature",
"foo/newsfragments/AAA.BBB.feature.md",
"This fragment has an invalid name (should be digits only)",
)
write(
Expand All @@ -542,10 +542,14 @@ def test_issue_pattern(self, runner):
result = runner.invoke(towncrier_check, ["--compare-with", "main"])
self.assertEqual(1, result.exit_code, result.output)
self.assertIn(
"Error: File name 'AAA.BBB' does not match the given issue pattern, '\\d+'",
"Error: Issue name 'AAA.BBB' does not match the given issue pattern, '\\d+'",
result.output,
)
self.assertNotIn(
"Error: File name '123' does not match the given issue pattern, '\\d+'",
"Error: Issue '123' does not match the given issue pattern, '\\d+'",
result.output,
)
self.assertNotIn(
"Error: Issue '123.feature' does not match the given issue pattern, '\\d+'",
result.output,
)

0 comments on commit b795310

Please sign in to comment.