diff options
-rw-r--r-- | .github/workflows/lintcommits.yml | 4 | ||||
-rwxr-xr-x | Meta/lint-commit.sh | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/.github/workflows/lintcommits.yml b/.github/workflows/lintcommits.yml index b8c4fbd445..7d6dfb2e07 100644 --- a/.github/workflows/lintcommits.yml +++ b/.github/workflows/lintcommits.yml @@ -21,6 +21,10 @@ jobs: error: "Commit message contains CRLF line breaks (only unix-style LF linebreaks are allowed)", }, { + pattern: /^.+(\r?\n(\r?\n.*)*)?$/, + error: "Empty line between commit title and body is missing", + }, + { pattern: /^.{0,72}(?:\r?\n(?:(.{0,72})|(.*?([a-z]+:\/\/)?(([a-zA-Z0-9_]|-)+\.)+[a-z]{2,}(:\d+)?([a-zA-Z_0-9@:%\+.~\?&/=]|-)+).*?))*$/, error: "Commit message lines are too long (maximum allowed is 72 characters, except for URLs)", }, diff --git a/Meta/lint-commit.sh b/Meta/lint-commit.sh index 293220da7a..d6e0887403 100755 --- a/Meta/lint-commit.sh +++ b/Meta/lint-commit.sh @@ -30,6 +30,10 @@ while read -r line; do ((line_number += 1)) line_length=${#line} + if [[ $line_number -eq 2 ]] && [[ $line_length -ne 0 ]]; then + error "Empty line between commit title and body is missing" + fi + category_pattern="^\S.*?\S: .+" if [[ $line_number -eq 1 ]] && (echo "$line" | grep -E -v -q "$category_pattern"); then error "Missing category in commit title (if this is a fix up of a previous commit, it should be squashed)" |