From 0a3b880da3fc1a9b583c3f4cc81ed24f5d42eb88 Mon Sep 17 00:00:00 2001 From: sora <2075279110@qq.com> Date: Mon, 27 Jul 2026 07:59:57 +0000 Subject: [PATCH] Simplify deploy_evalscope.sh: remove old evalstone/ migration - No need to keep compatibility with the old evalstone/ subdirectory layout. - Now simply removes everything except datasets/ and docker/, then clones the code directly into root. --- scripts/deploy_evalscope.sh | 51 ++++++++----------------------------- 1 file changed, 10 insertions(+), 41 deletions(-) diff --git a/scripts/deploy_evalscope.sh b/scripts/deploy_evalscope.sh index 8eb91da..fee5952 100755 --- a/scripts/deploy_evalscope.sh +++ b/scripts/deploy_evalscope.sh @@ -185,73 +185,42 @@ fi # -------------------------------------------------- # 8. 克隆代码仓库到根目录 # -------------------------------------------------- -echo "==> 克隆/更新 evalscope 代码..." +echo "==> 克隆 evalscope 代码..." -clone_or_update_code() { - local repo_url="https://git.meta-stone.net/sora/evalstone.git" - - # 1) 如果根目录已经有代码,直接跳过(可手动 git pull 更新) - if [ -f "$EVALSCOPE_DIR/bash/run.py" ]; then - echo "代码已存在于 $EVALSCOPE_DIR,跳过克隆" - return 0 - fi - - # 2) 兼容旧版:如果发现 evalstone/ 子目录,把里面的代码内容提到根目录 - if [ -d "$EVALSCOPE_DIR/evalstone" ] && [ -f "$EVALSCOPE_DIR/evalstone/bash/run.py" ]; then - echo "发现旧版 evalstone/ 子目录,迁移代码到根目录..." - local tmp_dir="$EVALSCOPE_DIR/.evalstone_tmp_$(date +%s)" - mv "$EVALSCOPE_DIR/evalstone" "$tmp_dir" - for item in "$tmp_dir"/* "$tmp_dir"/.[!.]* "$tmp_dir"/..?*; do - [ -e "$item" ] || continue - local basename_item - basename_item=$(basename "$item") - # datasets/ 和 docker/ 可能已经存在,跳过同名覆盖 - if [ "$basename_item" = "datasets" ] || [ "$basename_item" = "docker" ]; then - continue - fi - mv "$item" "$EVALSCOPE_DIR/$basename_item" - done - rm -rf "$tmp_dir" - return 0 - fi - - # 3) 全新部署:目录可能非空(已有 datasets/ docker/),先临时移出再克隆 +if [ -f "$EVALSCOPE_DIR/bash/run.py" ]; then + echo "代码已存在于 $EVALSCOPE_DIR,跳过克隆" +else echo "正在克隆代码到 $EVALSCOPE_DIR ..." - local tmp_backup="$BASE_DIR/.evalscope_deploy_backup_$(date +%s)" + tmp_backup="$BASE_DIR/.evalscope_deploy_backup_$(date +%s)" mkdir -p "$tmp_backup" + # 保留已有的 datasets/ 和 docker/,其余清空后克隆 for item in "$EVALSCOPE_DIR"/* "$EVALSCOPE_DIR"/.[!.]* "$EVALSCOPE_DIR"/..?*; do [ -e "$item" ] || continue - local basename_item basename_item=$(basename "$item") case "$basename_item" in .|..|.git) continue ;; datasets|docker) mv "$item" "$tmp_backup/$basename_item" ;; *) - # 其他内容一并移走,避免 git clone 因非空目录失败 - mv "$item" "$tmp_backup/$basename_item" ;; + rm -rf "$item" ;; esac done - git clone "$repo_url" "$EVALSCOPE_DIR" + git clone "https://git.meta-stone.net/sora/evalstone.git" "$EVALSCOPE_DIR" - # 把 datasets/ docker/ 等移回来 + # 恢复 datasets/ docker/ for item in "$tmp_backup"/* "$tmp_backup"/.[!.]* "$tmp_backup"/..?*; do [ -e "$item" ] || continue - local basename_item basename_item=$(basename "$item") [ "$basename_item" = "." ] || [ "$basename_item" = ".." ] && continue - # 如果目标已存在(比如代码仓库里也有 docker/),保留已有内容 if [ -e "$EVALSCOPE_DIR/$basename_item" ]; then continue fi mv "$item" "$EVALSCOPE_DIR/$basename_item" done rm -rf "$tmp_backup" 2>/dev/null || true -} - -clone_or_update_code +fi # -------------------------------------------------- # 9. 准备 sandbox 镜像