gitlab-ci: Check merge requests for Signed-off-by trailers

Based on Andreas work in

https://gitlab.com/libssh/libssh-mirror/-/merge_requests/104/

Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
Andreas Schneider
2020-04-04 08:33:23 +02:00
committed by Jakub Jelen
parent ed68fdaa61
commit 46e6804c89
2 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
#!/bin/bash
if [ $# != 1 ]; then
echo "Usage: $0 UPSTREAM_COMMIT_SHA"
exit 1
fi
failed=0
if [ -z "$CI_COMMIT_SHA" ]; then
echo "CI_COMMIT_SHA is not set"
exit 1
fi
CI_COMMIT_RANGE="$1..$CI_COMMIT_SHA"
red='\033[0;31m'
blue='\033[0;34m'
echo -e "${blue}Checking commit range: $CI_COMMIT_RANGE"
echo
echo
for commit in `git rev-list $CI_COMMIT_RANGE`; do
git show -s --format=%B $commit | grep "^Signed-off-by: " 2>&1 >/dev/null
ret=$?
if [ $ret -eq 1 ]; then
echo -e "${red} >>> Missing Signed-off-by trailer in commit $commit"
failed=`expr $failed + 1`
fi
done
echo
echo
exit $failed