Skip to content

Commit

Permalink
ci(commitlint): check PR number presence in merge commits (#592)
Browse files Browse the repository at this point in the history
  • Loading branch information
mdonadoni committed Aug 6, 2024
1 parent b4fe472 commit c68720b
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,20 +59,23 @@ check_commitlint () {
commit_hash=$(echo "$line" | cut -d ' ' -f 1)
commit_title=$(echo "$line" | cut -d ' ' -f 2-)
commit_number_of_parents=$(git rev-list --parents "$commit_hash" -n1 | awk '{print NF-1}')
# (i) skip checking release commits generated by Release Please
if [ "$commit_number_of_parents" -le 1 ] && echo "$commit_title" | grep -qP "^chore\(.*\): release"; then
continue
fi
# (ii) check presence of PR number
if ! echo "$commit_title" | grep -qP "\(\#$pr\)$"; then
echo "✖ Headline does not end by '(#$pr)' PR number: $commit_title"
found=1
fi
# (iii) check absence of merge commits in feature branches
if [ "$commit_number_of_parents" -gt 1 ]; then
if echo "$commit_title" | grep -qP "^chore\(.*\): merge "; then
break
break # skip checking maint-to-master merge commits
else
echo "✖ Merge commits are not allowed in feature branches: $commit_title"
found=1
fi
elif echo "$commit_title" | grep -qP "^chore\(.*\): release"; then
true
elif echo "$commit_title" | grep -qP "\(\#$pr\)$"; then
true
else
echo "✖ Headline does not end by '(#$pr)' PR number: $commit_title"
found=1
fi
done < <(git log "$from..$to" --format="%H %s")
if [ $found -gt 0 ]; then
Expand Down

0 comments on commit c68720b

Please sign in to comment.