feat(osi): 打通 Go 侧真实请求验收(T-005)

This commit is contained in:
ila
2026-07-06 23:03:14 +08:00
parent 2a77a4dbc1
commit def95efb1c
12 changed files with 411 additions and 54 deletions
+18 -9
View File
@@ -2,31 +2,40 @@
# 标准启动与验证入口:一条命令完成 依赖同步 -> 基础验证 -> 打印启动命令。
# 每轮会话用同一条路径启动,不靠记忆拼命令。
# 目标技术栈为 Go 1.24 单二进制(docs/03);阶段 0(T-001)建立骨架前本脚本会主动失败,属预期。
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$ROOT_DIR"
WIN_ROOT_DIR=""
if command -v cmd.exe >/dev/null 2>&1 && command -v pwd >/dev/null 2>&1; then
WIN_ROOT_DIR="$(pwd -W 2>/dev/null | sed 's#/#\\#g' || true)"
fi
run_in_workspace() {
if [ -n "$WIN_ROOT_DIR" ]; then
cmd.exe //C "pushd $WIN_ROOT_DIR && $*"
else
"$@"
fi
}
if [ ! -f go.mod ]; then
echo "ERROR: 阶段 0 骨架未建立(缺 go.mod)。"
echo " 先领取 tasks.md 的 T-001(初始化 go module 与双子命令骨架),"
echo " 当前唯一可运行验证是本地 Python 联调脚本,见 docs/current-state.md。"
echo " 先领取 tasks.md 的 T-001(初始化 go module 与双子命令骨架)。"
exit 2
fi
INSTALL_CMD=(go mod download)
VERIFY_CMD=(go test ./...)
START_CMD=(go run . -mode server)
START_CMD=(go run . -mode server -config config.yaml.example)
echo "==> 当前目录: $PWD"
echo "==> 同步依赖"
"${INSTALL_CMD[@]}"
run_in_workspace go mod download
echo "==> 运行基础验证"
"${VERIFY_CMD[@]}"
run_in_workspace go test ./...
echo "==> 启动命令"
printf ' %q' "${START_CMD[@]}"
@@ -34,7 +43,7 @@ printf '\n'
if [ "${RUN_START_COMMAND:-0}" = "1" ]; then
echo "==> 启动应用"
exec "${START_CMD[@]}"
run_in_workspace "${START_CMD[@]}"
fi
echo "如需直接启动应用:RUN_START_COMMAND=1 ./init.sh"