diff --git a/.github/automation/commit-msg-check.py b/.github/automation/commit-msg-check.py index a1653bc8271..d44c86c5afc 100755 --- a/.github/automation/commit-msg-check.py +++ b/.github/automation/commit-msg-check.py @@ -20,29 +20,17 @@ import argparse import subprocess +import re # * Ensuring the scopes end in colon and same level scopes are comma delimited. # TODO: Limit scopes to an acceptable list of tags. def __scopeCheck(msg: str): status = "Message scope: " - firstLine = (msg.partition("\n")[0]).strip() - - if not ":" in firstLine: - print(f"{status} FAILED: Commit message does not include scope") + if not re.match('^[a-z0-9]+: ', msg): + print(f"{status} FAILED: Commit message must follow the format :[ :] ") return False - # The last element of the split is the title, which we don't care about. - scopesArray = firstLine.split(":")[:-1] - - for scopes in scopesArray: - numWords = len(scopes.split()) - numCommas = scopes.count(",") - - if numWords != numCommas + 1: - print(f"{status} FAILED: Same-level scopes must be comma-separated. Bad token: '{scopes}'") - return False - print(f"{status} OK") return True @@ -79,7 +67,7 @@ def main(): is_ok = is_ok and result if is_ok: - print("All commmit messages are formtted correctly. ") + print("All commmit messages are formatted correctly. ") else: print("Some commit message checks failed. Please align commit messages with Contributing Guidelines and update the PR.") exit(1)