40 строки
1.3 KiB
Bash
Executable File
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"
|