summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/lintcommits.yml4
-rwxr-xr-xMeta/lint-commit.sh4
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)"