#!/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