61 lines
2.0 KiB
Bash
Executable File
61 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
# $1: Review result
|
|
gerrit_review_for_gerrit_topic() {
|
|
[ -z "$MANUAL_GERRIT_TOPIC" ] && return
|
|
|
|
[ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output
|
|
[ -z "$GERRIT_SERVER" ] && GERRIT_SERVER="scgit.amlogic.com"
|
|
[ -z "$GERRIT_PORT" ] && GERRIT_PORT="29418"
|
|
[ -z "$GERRIT_QUERY_RESULT" ] && GERRIT_QUERY_RESULT="$OUTPUT_DIR/topic_changes.txt"
|
|
|
|
[ ! -f "$GERRIT_QUERY_RESULT" ] && echo "${FUNCNAME[0]}: No such file! $GERRIT_QUERY_RESULT" && exit 1
|
|
[ $# -ne 1 ] && echo "${FUNCNAME[0]}: Invalid parameters! $*" && exit 1
|
|
|
|
if [ "$1" = "Start" ]; then
|
|
verify_param=""
|
|
elif [ "$1" = "SUCCESS" ] || [ "$1" = "FAIL" ]; then
|
|
[ "$1" = "SUCCESS" ] && verify_score="+1"
|
|
[ "$1" = "FAIL" ] && verify_score="-1"
|
|
verify_param="--verified $verify_score"
|
|
echo -e "======== Verifying Gerrit Topic: $MANUAL_GERRIT_TOPIC ========"
|
|
else
|
|
echo "${FUNCNAME[0]}: Invalid parameter $1" && exit 1
|
|
fi
|
|
|
|
review_msg="Build ${BUILD_URL}: $1"
|
|
|
|
GERRIT_CHANGE_NUMBERS=$(jq -r '.number // empty' $GERRIT_QUERY_RESULT)
|
|
GERRIT_PATCHSET_NUMBERS=$(jq -r '.currentPatchSet.number // empty' $GERRIT_QUERY_RESULT)
|
|
|
|
i=1
|
|
for GERRIT_CHANGE_NUMBER in $GERRIT_CHANGE_NUMBERS; do
|
|
GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_PATCHSET_NUMBERS | awk "{print \$$i}")
|
|
[ "$1" != "Start" ] && echo -n -e "$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER $verify_score ...\t"
|
|
ssh -p $GERRIT_PORT $GERRIT_SERVER gerrit review "${verify_param}" -m "'${review_msg}'" $GERRIT_CHANGE_NUMBER,$GERRIT_PATCHSET_NUMBER
|
|
if [ "$1" != "Start" ]; then
|
|
if [ "$?" -eq 0 ]; then
|
|
echo "done"
|
|
else
|
|
echo "failed"
|
|
fi
|
|
fi
|
|
i=$((i+1))
|
|
done
|
|
|
|
if [ "$1" != "Start" ]; then
|
|
i=$((i-1))
|
|
[ "$i" -eq 1 ] && echo -e "======== Verified $i Gerrit change for $MANUAL_GERRIT_TOPIC ========\n"
|
|
[ "$i" -gt 1 ] && echo -e "======== Verified $i Gerrit changes for $MANUAL_GERRIT_TOPIC ========\n"
|
|
fi
|
|
|
|
[ "$1" = "FAIL" ] && exit 1
|
|
|
|
return 0
|
|
}
|