xamarin-macios/tools/devops/build-samples-report-to-git...

40 строки
1.3 KiB
Bash
Executable File

#!/bin/bash -ex
# This script takes
# First argument: the github token to authenticate with
# Subsequent arguments: the names of each test variation in the test matrix.
# There is a corresponding environment variable with the result from each test variation.
# Print environment for debugging
env | sort
TOKEN=$1
shift 1
STEPS="$*"
EMOJII="✅"
GH_STATE=success
FILE=commit-comment.md
for STEP in $STEPS; do
# The environment variable's name is the variation name in uppercase, and special symbols removed (|-_)
STEPNAME=JOBRESULT$(echo "$STEP" | tr '[:lower:]' '[:upper:]' | sed -e 's/|//g' -e 's/-//g' -e 's/_//g')
STEPSTATUS=${!STEPNAME}
if [[ "$STEPSTATUS" == "Succeeded" ]]; then
STEPEMOJII="✅"
else
STEPEMOJII="❌"
EMOJII="❌"
GH_STATE=failure
fi
echo "* $STEPEMOJII $STEP: $STEPSTATUS" >> "$FILE"
done
printf "%s\n\n" "$EMOJII Status for '$BUILD_DEFINITIONNAME': [$GH_STATE]($AZURE_BUILD_URL)." | cat - "$FILE" > "$FILE.tmp"
mv "$FILE.tmp" "$FILE"
./jenkins/add-commit-comment.sh "--token=$TOKEN" "--hash=$BUILD_SOURCEVERSION" "--file=$FILE"
./jenkins/add-commit-status.sh "--token=$TOKEN" "--hash=$BUILD_SOURCEVERSION" "--state=$GH_STATE" --target-url="$AZURE_BUILD_URL" --description="$BUILD_DEFINITIONNAME" --context="$BUILD_DEFINITIONNAME"
rm -f "$FILE"