#!/bin/bash set -x . /root/mason.conf REPORT_PATH=/root/report.html SERVER_PATH=/srv/mason sed_escape() { printf "%s\n" "$1" | sed -e 's/\W/\\&/g' } create_report() { cat > $REPORT_PATH <<'EOF'
Mason
Build log of changes to BRANCH
from TROVE
. Most recent first.
Started | Ref | Duration | Result |
---|
....-..-.. ..:..:..<\/code>/'"$(sed_escape "$build_start_time")"'<\/code>/' $REPORT_PATH
fi
}
START_TIME=`date +%Y-%m-%d\ %T`
update_report_time "$START_TIME"
cp "$REPORT_PATH" "$SERVER_PATH/index.html"
logfile="$(mktemp)"
/root/mason.sh 2>&1 | tee "$logfile"
case "${PIPESTATUS[0]}" in
0)
RESULT=pass
;;
33)
RESULT=skip
;;
42)
RESULT=nonet
;;
*)
RESULT=fail
;;
esac
# TODO: Update page with last executed time
if [ "$RESULT" = skip ]; then
rm "$logfile"
exit 0
fi
DURATION=$(( $(date +%s) - $(date --date="$START_TIME" +%s) ))
SHA1="$(cd "ws/$DEFINITIONS_REF/$DISTBUILD_TROVE_ADDRESS/baserock/baserock/definitions" && git rev-parse HEAD)"
update_report "$START_TIME" \
"$DISTBUILD_TROVE_ADDRESS" \
"$DEFINITIONS_REF" \
"$SHA1" \
"$DURATION" \
"$RESULT"
#
# Copy report into server directory
#
cp "$REPORT_PATH" "$SERVER_PATH/index.html"
mkdir "$SERVER_PATH/log"
mv "$logfile" "$SERVER_PATH/log/$SHA1--$START_TIME.log"