#!/usr/bin/env bash if [ $1 == 2 ] then exit 1 fi # if failed-summary.log is not empty, exit status = 1 if [ -s "${HS_ROOT}/summary/failed-summary.log" ] then if [ -n "${WORKSPACE}" ] then echo -n "Copying docker logs..." dirs=$(jq -r '.[0] | .SpecReports[] | select((.State == "failed") or (.State == "timedout") or (.State == "panicked")) | .LeafNodeText | split("/")[1]' ${HS_ROOT}/summary/report.json) for dirName in $dirs; do logDir=/tmp/hs-test/$dirName if [ -d "$logDir" ]; then mkdir -p ${WORKSPACE}/archives/summary rsync -a --exclude 'volumes' $logDir ${WORKSPACE}/archives/summary/ fi done echo "Done." echo -n "Copying failed test logs into build log archive directory (${WORKSPACE}/archives)... " mkdir -p ${WORKSPACE}/archives/summary cp -a ${HS_ROOT}/summary/* ${WORKSPACE}/archives/summary echo "Done." echo -n "Compressing files in ${WORKSPACE}/archives from test runs... " cd ${WORKSPACE}/archives find . -type f \( -name "*.json" -o -name "*.log" \) -exec gzip {} \; echo "Done." else echo "Not compressing files in temporary directories from test runs." fi echo "*************************** SUMMARY ***************************" cat "${HS_ROOT}/summary/failed-summary.log" exit 1 else exit $1 fi