1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-17 04:52:59 +01:00

dist/tools/commit-msg: annotate errors in Github Action

This commit is contained in:
Martine Lenders 2021-01-08 15:45:41 +01:00
parent 787c2debae
commit 13f1a3cf0d
No known key found for this signature in database
GPG Key ID: CCD317364F63286F

View File

@ -6,9 +6,34 @@
# General Public License v2.1. See the file LICENSE in the top level # General Public License v2.1. See the file LICENSE in the top level
# directory for more details. # directory for more details.
. "$(dirname "$0")/../ci/github_annotate.sh"
github_annotate_setup
MSG_MAX_LENGTH=50 MSG_MAX_LENGTH=50
MSG_STRETCH_LENGTH=72 MSG_STRETCH_LENGTH=72
if tput colors 2> /dev/null > /dev/null && [ $(tput colors) -ge 8 ]; then
CERROR1="\033[1;31m"
CWARN1="\033[1;33m"
CERROR2="\033[0;31m"
CWARN2="\033[0;33m"
CRESET="\033[0m"
else
CERROR1=
CWARN1=
CERROR2=
CWARN2=
CRESET=
fi
if [ -n "${BASH_VERSION}" ]; then
# workaround when included in bash to escape newlines and carriage returns
# properly in _escape
ECHO_ESC='echo -e'
else
ECHO='echo'
fi
# If no branch but an option is given, unset BRANCH. # If no branch but an option is given, unset BRANCH.
# Otherwise, consume this parameter. # Otherwise, consume this parameter.
BRANCH="${1}" BRANCH="${1}"
@ -35,18 +60,36 @@ ERROR="$(git log \
msg_length=$(echo "${msg}" | awk '{print length($0)}') msg_length=$(echo "${msg}" | awk '{print length($0)}')
if [ ${msg_length} -gt ${MSG_MAX_LENGTH} ]; then if [ ${msg_length} -gt ${MSG_MAX_LENGTH} ]; then
ERROR=0
if [ ${msg_length} -gt ${MSG_STRETCH_LENGTH} ]; then if [ ${msg_length} -gt ${MSG_STRETCH_LENGTH} ]; then
MSG="Error: Commit message is longer than ${MSG_STRETCH_LENGTH} characters:" MSG="Commit message is longer than ${MSG_STRETCH_LENGTH} characters:"
ERROR=1
echo "error" echo "error"
else else
MSG="Warning: Commit message is longer than ${MSG_MAX_LENGTH}" MSG="Commit message is longer than ${MSG_MAX_LENGTH}"
MSG="${MSG} (but < ${MSG_STRETCH_LENGTH}) characters:" MSG="${MSG} (but < ${MSG_STRETCH_LENGTH}) characters:"
fi fi
echo "${MSG}" >&2 if github_annotate_is_on; then
echo " \"${msg}\"" >&2 if [ ${ERROR} -eq 1 ]; then
github_annotate_error_no_file "${MSG} \"${msg}\""
else
github_annotate_warning_no_file "${MSG} \"${msg}\""
fi
else
if [ ${ERROR} -eq 1 ]; then
${ECHO_ESC} "${CERROR1}Error:${CERROR2} ${MSG}${CRESET}" >&2
else
${ECHO_ESC} "${CWARN1}Warning:${CWARN2} ${MSG}${CRESET}" >&2
fi
echo " \"${msg}\"" >&2
fi
fi fi
done)" done)"
github_annotate_teardown
github_annotate_report_last_run
if [ -n "${ERROR}" ]; then if [ -n "${ERROR}" ]; then
exit 1 exit 1
fi fi