#!/bin/bash # Run a command, printing periodically to keep travis alive. PID=$$ # Print output to avoid travis killing us watchdog() { for i in `seq 5 5 150`; do sleep 300 echo "(running, ${i}m total)" done echo "Command timed out after 2.5h, dumping logs:" echo "TIMED OUT" kill -SIGKILL $PID } watchdog & 2>/dev/null WATCHDOG_PID=$! time "$@" CODE=$? if [ $CODE != 0 ]; then echo "FAILED $CODE" kill $WATCHDOG_PID exit $CODE fi kill $WATCHDOG_PID exit 0