swe_env_setup.sh 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. #!/bin/bash
  2. # THIS SCRIPT ONLY NEED TO BE RUN ONCE BEFORE EVALUATION
  3. EVAL_DOCKER_IMAGE=ghcr.io/opendevin/eval-swe-bench:builder
  4. EVAL_WORKSPACE="evaluation/swe_bench/eval_workspace"
  5. EVAL_WORKSPACE=$(realpath $EVAL_WORKSPACE)
  6. SETUP_INSTANCE_FILENAME=swe-bench-test.json # OR swe-bench-test-lite.json
  7. if [ ! -d $EVAL_WORKSPACE ]; then
  8. mkdir -p $EVAL_WORKSPACE
  9. fi
  10. if [ -f $EVAL_WORKSPACE/swe_env_setup.sh ]; then
  11. rm $EVAL_WORKSPACE/swe_env_setup.sh
  12. fi
  13. SCRIPT_DIR=evaluation/swe_bench/scripts/setup
  14. cp $SCRIPT_DIR/_swe_env_setup.sh $EVAL_WORKSPACE/swe_env_setup.sh
  15. cp $SCRIPT_DIR/swe_entry.sh $EVAL_WORKSPACE/swe_entry.sh
  16. cp $SCRIPT_DIR/get_model_report.sh $EVAL_WORKSPACE/get_model_report.sh
  17. cp $SCRIPT_DIR/get_agent_report.sh $EVAL_WORKSPACE/get_agent_report.sh
  18. cp $SCRIPT_DIR/process_output_json_file.py $EVAL_WORKSPACE/process_output_json_file.py
  19. cp $SCRIPT_DIR/merge_fine_grained_report.py $EVAL_WORKSPACE/merge_fine_grained_report.py
  20. docker run \
  21. -v $EVAL_WORKSPACE:/swe_util \
  22. -e UID=$(id -u) \
  23. --rm -it $EVAL_DOCKER_IMAGE \
  24. bash -c "useradd -rm -d /home/opendevin -s /bin/bash -u $(id -u) opendevin && su opendevin -c 'bash /swe_util/swe_env_setup.sh $SETUP_INSTANCE_FILENAME'"
  25. #