diff --git a/src/semantic_release/commit_parser/conventional/parser.py b/src/semantic_release/commit_parser/conventional/parser.py index 5cab34c56..8103ad2f5 100644 --- a/src/semantic_release/commit_parser/conventional/parser.py +++ b/src/semantic_release/commit_parser/conventional/parser.py @@ -75,7 +75,7 @@ class ConventionalCommitParser( str.join( "", [ - r"^(?:clos(?:e|es|ed|ing)|fix(?:es|ed|ing)?|resolv(?:e|es|ed|ing)|implement(?:s|ed|ing)?):", + r"^(?:clos(?:e|es|ed|ing)|fix(?:es|ed|ing)?|resolv(?:e|es|ed|ing)|implement(?:s|ed|ing)?|ref(?:s|ered|erence|ering)?):", r"[\t ]+(?P.+)[\t ]*$", ], ), diff --git a/tests/const.py b/tests/const.py index 69a7ca778..fafd3fcfa 100644 --- a/tests/const.py +++ b/tests/const.py @@ -47,6 +47,7 @@ class RepoActionStep(str, Enum): COMMIT_MESSAGE = "{version}\n\nAutomatically generated by python-semantic-release\n" + SUPPORTED_ISSUE_CLOSURE_PREFIXES = [ "Close", "Closes", @@ -66,6 +67,15 @@ class RepoActionStep(str, Enum): "Implementing", ] +SUPPORTED_ISSUE_PREFIXES = [ + *SUPPORTED_ISSUE_CLOSURE_PREFIXES, + "Ref", + "Refs", + "Refered", + "Reference", + "Refering", +] + CONVENTIONAL_COMMITS_CHORE = ("ci: added a commit lint job\n",) # Different in-scope commits that produce a certain release type CONVENTIONAL_COMMITS_PATCH = ( diff --git a/tests/unit/semantic_release/commit_parser/test_conventional.py b/tests/unit/semantic_release/commit_parser/test_conventional.py index 9298c1f24..1ab2990ff 100644 --- a/tests/unit/semantic_release/commit_parser/test_conventional.py +++ b/tests/unit/semantic_release/commit_parser/test_conventional.py @@ -13,7 +13,7 @@ from semantic_release.commit_parser.token import ParsedCommit, ParseError from semantic_release.enums import LevelBump -from tests.const import SUPPORTED_ISSUE_CLOSURE_PREFIXES +from tests.const import SUPPORTED_ISSUE_PREFIXES if TYPE_CHECKING: from tests.conftest import MakeCommitObjFn @@ -753,7 +753,7 @@ def test_parser_return_linked_merge_request_from_commit_message( f"feat(parser): add magic parser\n\n{footer}", linked_issues, ) - for footer_prefix in SUPPORTED_ISSUE_CLOSURE_PREFIXES + for footer_prefix in SUPPORTED_ISSUE_PREFIXES for footer, linked_issues in [ # Single issue ( @@ -855,13 +855,6 @@ def test_parser_return_linked_merge_request_from_commit_message( (f"{footer_prefix} #666, {footer_prefix} #777", []), # Invalid 'and' separation (f"{footer_prefix}: #666and#777", ["#666and#777"]), - # Invalid prefix - ("ref: #666", []), - # body mentions an issue and has a different git footer - ( - "In #666, the devils in the details...\n\nSigned-off-by: johndoe ", - [], - ), ] ], *[ @@ -870,7 +863,7 @@ def test_parser_return_linked_merge_request_from_commit_message( f"feat(parser): add magic parser\n\n{footer}", linked_issues, ) - for footer_prefix in SUPPORTED_ISSUE_CLOSURE_PREFIXES + for footer_prefix in SUPPORTED_ISSUE_PREFIXES for footer, linked_issues in [ # Single issue ( @@ -984,13 +977,6 @@ def test_parser_return_linked_merge_request_from_commit_message( (f"{footer_prefix} ABC-666, {footer_prefix} ABC-777", []), # Invalid 'and' separation (f"{footer_prefix}: ABC-666andABC-777", ["ABC-666andABC-777"]), - # Invalid prefix - ("ref: ABC-666", []), - # body mentions an issue and has a different git footer - ( - "In ABC-666, the devils in the details...\n\nSigned-off-by: johndoe ", - [], - ), ] ], *[