ci/check-commit-log: Reverse the merge request URL check

Instead of making sure there is a reference to a bug or merge request,
make sure there isn't. The reason for this is that marge-bot will always
append a merge request URL in the end of the commit message.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1491>
This commit is contained in:
Jonas Ådahl 2020-11-06 17:59:28 +01:00 committed by Marge Bot
parent 3567820a87
commit 5f7615d3fc

View File

@ -16,16 +16,16 @@ if [ -z "$commits" ]; then
exit 1 exit 1
fi fi
function commit_message_has_url() { function commit_message_has_mr_url() {
commit=$1 commit=$1
commit_message=$(git show -s --format='format:%b' $commit) commit_message=$(git show -s --format='format:%b' $commit)
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(-/\)\?\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)" echo "$commit_message" | grep -qe "^$CI_MERGE_REQUEST_PROJECT_URL\/\(-\/\)\?merge_requests\/$CI_MERGE_REQUEST_IID$"
return $? return $?
} }
for commit in $commits; do for commit in $commits; do
if ! commit_message_has_url $commit; then if commit_message_has_mr_url $commit; then
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)" echo "Commit $(echo $commit | cut -c -8) message must not contain a link to its own merge request"
exit 1 exit 1
fi fi
done done