summaryrefslogtreecommitdiffhomepage
path: root/.buildkite/hooks/post-command
blob: ce3111f3c38a83259287d60aa688455e2f02cd67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 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