ray/ci/suppress_output

39 lines
743 B
Bash
Executable file

#!/bin/bash
# Run a command, suppressing output unless it hangs or crashes.
TMPFILE=`mktemp`
PID=$$
# Print output to avoid travis killing us
watchdog() {
for i in `seq 5 5 150`; do
sleep 300
echo "This command has been running for more than $i minutes..."
done
echo "Command timed out after 2.5h, dumping logs:"
cat $TMPFILE
echo "TIMED OUT"
kill -SIGKILL $PID
}
watchdog & 2>/dev/null
WATCHDOG_PID=$!
if [ "$1" == "--force-direct" ]; then
echo "Setting RAY_FORCE_DIRECT=1"
export RAY_FORCE_DIRECT=1
shift
fi
time "$@" >$TMPFILE 2>&1
CODE=$?
if [ $CODE != 0 ]; then
tail -n 2000 $TMPFILE
echo "FAILED $CODE"
kill $WATCHDOG_PID
exit $CODE
fi
kill $WATCHDOG_PID
exit 0