pull_all_eval_docker.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/bash
  2. set -e
  3. LEVEL=$1
  4. # three levels:
  5. # - base, keyword "sweb.base"
  6. # - env, keyword "sweb.env"
  7. # - instance, keyword "sweb.eval"
  8. if [ -z "$LEVEL" ]; then
  9. echo "Usage: $0 <cache_level>"
  10. echo "cache_level: base, env, or instance"
  11. exit 1
  12. fi
  13. NAMESPACE=xingyaoww
  14. IMAGE_FILE="$(dirname "$0")/all-swebench-lite-instance-images.txt"
  15. # Define a pattern based on the level
  16. case $LEVEL in
  17. base)
  18. PATTERN="sweb.base"
  19. ;;
  20. env)
  21. PATTERN="sweb.base\|sweb.env"
  22. ;;
  23. instance)
  24. PATTERN="sweb.base\|sweb.env\|sweb.eval"
  25. ;;
  26. *)
  27. echo "Invalid cache level: $LEVEL"
  28. echo "Valid levels are: base, env, instance"
  29. exit 1
  30. ;;
  31. esac
  32. echo "Pulling docker images for [$LEVEL] level"
  33. echo "Pattern: $PATTERN"
  34. echo "Image file: $IMAGE_FILE"
  35. # Read each line from the file, filter by pattern, and pull the docker image
  36. grep "$PATTERN" "$IMAGE_FILE" | while IFS= read -r image; do
  37. echo "Pulling $NAMESPACE/$image into $image"
  38. docker pull $NAMESPACE/$image
  39. # replace _s_ to __ in the image name
  40. renamed_image=$(echo "$image" | sed 's/_s_/__/g')
  41. docker tag $NAMESPACE/$image $renamed_image
  42. done