aboutsummaryrefslogtreecommitdiff
path: root/.travis_do.sh
diff options
context:
space:
mode:
Diffstat (limited to '.travis_do.sh')
-rwxr-xr-x.travis_do.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/.travis_do.sh b/.travis_do.sh
index d27ebbfd3..673dced26 100755
--- a/.travis_do.sh
+++ b/.travis_do.sh
@@ -104,6 +104,44 @@ EOF
exit $RET
}
+test_commits() {
+ RET=0
+ for commit in $(git rev-list ${TRAVIS_COMMIT_RANGE/.../..}); do
+ echo_blue "=== Checking commit '$commit'"
+ if git show --format='%P' -s $commit | grep -qF ' '; then
+ echo_red "Pull request should not include merge commits"
+ RET=1
+ fi
+
+ author="$(git show -s --format=%aN $commit)"
+ if echo $author | grep -q '\S\+\s\+\S\+'; then
+ echo_green "Author name ($author) seems ok"
+ else
+ echo_red "Author name ($author) need to be your real name 'firstname lastname'"
+ RET=1
+ fi
+
+ subject="$(git show -s --format=%s $commit)"
+ if echo "$subject" | grep -q '^[0-9A-Za-z,]\+: '; then
+ echo_green "Commit subject line seems ok ($subject)"
+ else
+ echo_red "Commit subject line MUST start with '<package name>: ' ($subject)"
+ RET=1
+ fi
+
+ body="$(git show -s --format=%b $commit)"
+ sob="$(git show -s --format='Signed-off-by: %aN <%aE>' $commit)"
+ if echo "$body" | grep -qF "$sob"; then
+ echo_green "Signed-off-by match author"
+ else
+ echo_red "Signed-off-by is missing or doesn't match author (should be '$sob')"
+ RET=1
+ fi
+ done
+
+ exit $RET
+}
+
echo_blue "=== Travis ENV"
env
echo_blue "=== Travis ENV"