diff --git a/.buildkite/scripts/hardware_ci/run-intel-test.sh b/.buildkite/scripts/hardware_ci/run-intel-test.sh index 7949f107c..836f0b849 100755 --- a/.buildkite/scripts/hardware_ci/run-intel-test.sh +++ b/.buildkite/scripts/hardware_ci/run-intel-test.sh @@ -239,13 +239,29 @@ fi # --- Docker housekeeping --- cleanup_docker +aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin "$REGISTRY" +aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 936637512419.dkr.ecr.us-east-1.amazonaws.com + # --- Build or pull test image --- -if [[ -n "${IMAGE_TAG_XPU:-}" ]]; then - echo "Using prebuilt XPU image: ${IMAGE_TAG_XPU}" - docker pull "${IMAGE_TAG_XPU}" +IMAGE="${IMAGE_TAG_XPU:-${image_name}}" + +echo "Using image: ${IMAGE}" + +if docker image inspect "${IMAGE}" >/dev/null 2>&1; then + echo "Image already exists locally, skipping pull" else - echo "Using prebuilt XPU image: ${image_name}" - docker pull "${image_name}" + echo "Image not found locally, waiting for lock..." + + flock /tmp/docker-pull.lock bash -c " + if docker image inspect '${IMAGE}' >/dev/null 2>&1; then + echo 'Image already pulled by another runner' + else + echo 'Pulling image...' + timeout 900 docker pull '${IMAGE}' + fi + " + + echo "Pull step completed" fi remove_docker_container() {