diff --git a/deploy/install.sh b/deploy/install.sh index 2fa92df..88027dd 100755 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -176,15 +176,30 @@ if [[ -d "$PI_SDK" ]]; then fi if [[ $CHECK_ONLY -eq 1 ]]; then + # ★ `go vet`/`go test` 提到这个相位来跑(pi 评审 2026-09-14)。 + # + # 原先的措辞是"**所有会红的门禁都跑过了**(前端 typecheck/test/build、共用模块同源、 + # 各插件测试、插件构建)",而紧接着的一段就把 `go vet + go test` 列进"干跑没有执行" + # —— **那两条正是会红的门禁**,两段话自相矛盾,而读者只会读那句加粗的结论。 + # 更实际的理由:这两道门恰恰最容易在**别人的机器上**红(Go 版本、依赖、平台), + # 而"第一个拿到 root 的人第一次跑门禁"正是 `--check` 要解决的场景。 + # 它们不写系统目录(只写 go 缓存),所以放进这个相位没有副作用。 + echo "==> 校验 Gateway 源码(go vet + go test)" + if ! ( cd "$REPO/server" && go vet ./... && go test ./... ); then + echo " [FAIL] go vet / go test 不过 —— 先修好再安装" >&2 + exit 1 + fi + echo " [ OK ] go vet + go test 通过" cat <<'EOF' -==> 干跑结束:**所有会红的门禁都跑过了**(前端 typecheck/test/build、共用模块同源、 - 各插件测试、插件构建)。干跑的成功只能说明"门是好的",不能说明"装得上"。 +==> 干跑结束:**除了"构建 Gateway 二进制"之外,所有会红的门禁都跑过了** + (前端 typecheck/test/build、共用模块同源、各插件测试、插件构建、 + **go vet + go test**)。 + 干跑的成功只能说明"门是好的",不能说明"装得上"。 下面这些步骤干跑**没有执行**(它们要写工作区外的目录,正式安装需要 root 或先放行): · 前端产物 → server/internal/static/static/ - · 构建 Gateway(go vet + go test + go build -trimpath -o server/agentmail-gateway) - · install -m 0755 server/agentmail-gateway → /opt/agentmail/agentmail-gateway + · 构建 Gateway(go build -trimpath -o server/agentmail-gateway;vet/test 上面已跑) · 生成 /etc/agentmail/*.env(已存在的不覆盖)+ chmod 0600 · 装 systemd unit → /etc/systemd/system/,daemon-reload + enable --now · 把邮件工具扩展注册进 ~/.pi/agent/settings.json