feat(gate) adding retry mechanism to jarvis-projects verification

Occasionally, the request made to Gerrit is made before the Verified label is applied by the pipeline. To remedy this we will send the request multiple times until the expected result is returned (or until it has been tried 6 times in 30 seconds)

Change-Id: Ie876cf94e4a56684f25d868008a1b78054cac09b
This commit is contained in:
Danny Massa 2021-02-17 15:29:46 -06:00 committed by Stacey Fletcher
parent 5c66ce41c5
commit 613ed796a0

View File

@ -69,9 +69,18 @@ EOF
fi
done
# Ensure that the patch set has been labelled `Verified` by the Jarvis System
# Check that Jarvis-System has reported the success of the pipeline run to Gerrit
end=$(date +%s)
timeout="30"
end=$((end + timeout))
while true; do
VERIFIED="$(curl -L https://gerrit.jarvis.local/changes/${change_id}/revisions/1/review/ | tail -1 | jq -r .labels.Verified.all[0].value)"
if [ "$VERIFIED" -ne 1 ]; then
[ "$VERIFIED" == 1 ] && break || true
sleep 5
now=$(date +%s)
if [ "$now" -gt "$end" ] ; then
echo "Jarvis-System has not verified the change"
exit 1
fi
done
done