From 2720fd061117edf791719d037f96580b4d636f93 Mon Sep 17 00:00:00 2001 From: argszero Date: Wed, 5 Aug 2026 02:58:17 +0800 Subject: [PATCH] =?UTF-8?q?emrg:=20build-release=20=E5=8D=81=E4=B9=9D?= =?UTF-8?q?=E6=AC=A1=E4=BF=AE=E5=A4=8D=20=E2=80=94=20smoke=20Windows=20?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=94=B9=20WINDIR=20=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=EF=BC=88rant=20#13=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 第 19 次实跑 4 平台全失败(exit 127)——PR #386 引入回归: smoke-test.sh 的 Windows 判断 `[ -n "${WINDIR:-}" ] || [ -f .../emrgd.cmd ]` 在 macOS/Linux 误判为 Windows——build-runtime.sh 第 70 行跨平台复制 emrgd.cmd(POSIX 也有此文件)→ 文件探测恒真 → macOS 走 cmd 分支 → macOS 无 cmd 命令 → exit 127。 修复:Windows 判断只保留 ${WINDIR} 环境变量(Windows Git Bash 必有, macOS/Linux 无),去掉文件探测。2 处同步。 验证: - bash -n OK - macOS 模拟(无 WINDIR 但有 emrgd.cmd 文件)→ nohup ✓ - Windows 模拟(有 WINDIR)→ cmd ✓ - pytest 464 passed;import checks OK --- packaging/smoke-test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/smoke-test.sh b/packaging/smoke-test.sh index 31b937a7..25a6cf91 100755 --- a/packaging/smoke-test.sh +++ b/packaging/smoke-test.sh @@ -51,7 +51,7 @@ model = "deepseek-chat" EOF # R101:Windows Git Bash 的 nohup 后台 bash 脚本会立即退出(无 POSIX 进程模型) # → 用 cmd //c start /b emrgd.cmd 后台启动;POSIX 保持 nohup emrgd -if [ -n "${WINDIR:-}" ] || [ -f "$HOME/.emrg/install/bin/emrgd.cmd" ]; then +if [ -n "${WINDIR:-}" ]; then (cd "$HOME" && cmd //c "start /b $HOME/.emrg/install/bin/emrgd.cmd" >/dev/null 2>&1) else nohup emrgd >/dev/null 2>&1 & @@ -111,7 +111,7 @@ if emrg server stop 2>&1 | grep -q "stopped"; then ok "server stop"; else fail " # 5. emrg rant "test"(R107:_send_rant 依赖 daemon——先重起) say "5. emrg rant" -if [ -n "${WINDIR:-}" ] || [ -f "$HOME/.emrg/install/bin/emrgd.cmd" ]; then +if [ -n "${WINDIR:-}" ]; then (cd "$HOME" && cmd //c "start /b $HOME/.emrg/install/bin/emrgd.cmd" >/dev/null 2>&1) else nohup emrgd >/dev/null 2>&1 &