ray/.buildkite/hooks/post-artifact
Kai Fricke 40a8183e05
[ci/release] Fix job-based file download (#23657)
have to wrap download call in a lambda to be compatible with run_with_retry
2022-04-04 08:06:31 -07:00

26 lines
1.1 KiB
Bash

#!/bin/bash
# This script is executed by Buildkite on the host machine.
# In contrast, our build jobs are run in Docker containers.
# This means that even though our build jobs write to
# `/artifact-mount`, the directory on the host machine is
# actually `/tmp/artifacts`.
# We clean up the artifacts directory before any command and
# after uploading artifacts to make sure no stale artifacts
# remain on the node when a Buildkite runner is re-used.
set -ex
if [ -d "/tmp/artifacts" ]; then
echo "Cleaning up artifacts after upload."
echo "Artifact directory contents before cleanup:"
find /tmp/artifacts -print || true
if [ "$(ls -A /tmp/artifacts)" ]; then
echo "Directory not empty, cleaning up..."
# Need to run in docker to avoid permission issues
docker run --rm -v /tmp/artifacts:/artifact-mount alpine:latest /bin/sh -c 'rm -rf /artifact-mount/*; rm -rf /artifact-mount/.[!.]*' || true
else
echo "Directory already empty, no need to clean up."
fi
echo "Artifact directory contents after cleanup:"
find /tmp/artifacts -print || true
fi