24 lines
963 B
Plaintext
24 lines
963 B
Plaintext
|
# Upload test logs on failure, if there are any.
|
||
|
if [[ "${BUILDKITE_COMMAND_EXIT_STATUS}" -ne "0" ]]; then
|
||
|
declare log_count=0
|
||
|
for log in $(make testlogs 2>/dev/null | sort | uniq); do
|
||
|
buildkite-agent artifact upload "${log}"
|
||
|
log_count=$((${log_count}+1))
|
||
|
# N.B. If *all* tests fail due to some common cause, then we will
|
||
|
# end up spending way too much time uploading logs. Instead, we just
|
||
|
# upload the first 100 and stop. That is hopefully enough to debug.
|
||
|
if [[ "${log_count}" -ge 100 ]]; then
|
||
|
echo "Only uploaded first 100 failures; skipping the rest."
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
# Attempt to clear the cache and shut down.
|
||
|
make clean || echo "make clean failed with code $?"
|
||
|
make bazel-shutdown || echo "make bazel-shutdown failed with code $?"
|
||
|
fi
|
||
|
|
||
|
# Kill any running containers (clear state).
|
||
|
CONTAINERS="$(docker ps -q)"
|
||
|
if ! [[ -z "${CONTAINERS}" ]]; then
|
||
|
docker container kill ${CONTAINERS} 2>/dev/null || true
|
||
|
fi
|