fix(install): go vet / go test 提到 --check 相位 —— 原措辞"所有会红的门禁都跑过了"与自己下一段矛盾
pi 读出来的(实测确认):干跑末尾写"**所有会红的门禁都跑过了**(前端 typecheck/test/build、
共用模块同源、各插件测试、插件构建)",而紧接着那段就把 `go vet + go test` 列进
"下面这些步骤干跑**没有执行**" —— **那两条正是会红的门禁**。
两段话自相矛盾,而读者只会读那句加粗的结论。
采用 pi 倾向的方案①(把它提进 `--check` 相位)而不是只改措辞,理由:
这两道门**最容易在别人的机器上红**(Go 版本、模块缓存、平台),
而"第一个拿到 root 的人第一次跑门禁"正是 `--check` 要解决的场景。
它们不写系统目录(只写 go 缓存),放进这个相位没有副作用。
顺带把措辞改准:结论句改成"**除了"构建 Gateway 二进制"之外**,所有会红的门禁都跑过了"。
实测(本机,`HOME=/root GOPATH=/root/go`):`go vet ./...` 与 `go test ./...` 都是
**真退出码 0**(gateway 各包全绿)⇒ 新增的这一相位不会造成"一跑就红"。
⚠️ 我的沙箱里 `$HOME` 为空 ⇒ 直接跑 go 会报
`go: module cache not found: neither GOMODCACHE nor GOPATH is set` ——
**这是环境问题不是代码问题**(`/root/go/pkg/mod` 存在,正式走 root 不受影响)。
This commit is contained in:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user