diff --git a/.buildkite/hooks/post-command b/.buildkite/hooks/post-command index d41100610..2e88eaf13 100644 --- a/.buildkite/hooks/post-command +++ b/.buildkite/hooks/post-command @@ -1,3 +1,5 @@ +set -x + # Clear any downloaded credentials. rm -f repo.key @@ -71,3 +73,18 @@ for container in $(docker ps -q); do docker container kill "${container}" fi done + +set -euo pipefail + +# Remove all Docker runtimes that may be installed. +if grep -qE runtimes /etc/docker/daemon.json; then + cat /etc/docker/daemon.json | jq 'del(.runtimes) + {runtimes: {}}' \ + | sudo tee /etc/docker/daemon.json.tmp + sudo mv /etc/docker/daemon.json.tmp /etc/docker/daemon.json + bash -c "$DOCKER_RELOAD_COMMAND" +fi + +# Cleanup temporary directory where STAGED_BINARIES may have been extracted. +if [[ -n "${BUILDKITE_STAGED_BINARIES_DIRECTORY:-}" ]]; then + rm -rf "$BUILDKITE_STAGED_BINARIES_DIRECTORY" || true +fi diff --git a/.buildkite/hooks/pre-command b/.buildkite/hooks/pre-command index 2e1dcc373..71ee0ebf1 100644 --- a/.buildkite/hooks/pre-command +++ b/.buildkite/hooks/pre-command @@ -1,3 +1,5 @@ +set -euo pipefail + # Download any build-specific configuration that has been uploaded. # This allows top-level steps to override all subsequent steps. buildkite-agent artifact download 'tools/bazeldefs/*' . || true @@ -47,12 +49,13 @@ fi HAD_EXPERIMENTAL="$(docker version --format='{{.Server.Experimental}}')" if [[ -n "${STAGED_BINARIES:-}" ]]; then # Used `runsc` from STAGED_BINARIES instead of building it from scratch. - tmpdir="$(mktemp -d)" - gsutil cat "$(STAGED_BINARIES)" | tar -C "$tmpdir" -zxvf - runsc - chmod +x "$tmpdir/runsc" - "$tmpdir/runsc" install --experimental=true --runtime="${RUNTIME}" \ + export BUILDKITE_STAGED_BINARIES_DIRECTORY="$(mktemp -d)" + gsutil cat "$STAGED_BINARIES" \ + | tar -C "$BUILDKITE_STAGED_BINARIES_DIRECTORY" -zxvf - runsc + chmod +x "$BUILDKITE_STAGED_BINARIES_DIRECTORY/runsc" + sudo "$BUILDKITE_STAGED_BINARIES_DIRECTORY/runsc" install \ + --experimental=true --runtime="${RUNTIME}" \ -- "${RUNTIME_ARGS:-}" - rm -rf "$tmpdir" else make sudo TARGETS=//runsc:runsc \ ARGS="install --experimental=true --runtime=${RUNTIME} -- ${RUNTIME_ARGS:-}"