build,travis: test commits format
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
This commit is contained in:
parent
2ce9c3a64a
commit
78712dfca8
|
@ -11,4 +11,5 @@ before_script:
|
|||
- ./.travis_do.sh download_sdk
|
||||
|
||||
script:
|
||||
- ./.travis_do.sh test_commits
|
||||
- ./.travis_do.sh test_packages
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue