discourse/script/silence_successful_output
David Taylor 9449a0e0ed
DEV: Silence successful database migration output in github actions (#24416)
The output of db:migrate for a new database is 20k+ lines. We only need the output when an error occurs.
2023-11-16 15:55:41 +00:00

22 lines
460 B
Bash
Executable File

#!/bin/bash
# Run a command and write stdout/stderr to a temporary file. Print the output only if the command exits with a non-zero exit status
tmp=$(mktemp)
echo "[silence_successful_output] Running '$@' with output silenced..." >&2
("$@") 2>&1 &> "$tmp"
STATUS=$?
if (( $STATUS )) ; then
echo "[silence_successful_output] '$@' failed! Output:" >&2
cat "$tmp" >&2
else
echo "[silence_successful_output] '$@' succeeded!"
fi
rm "$tmp"
exit $STATUS