feat: add sdk isolation release gate
This commit is contained in:
27
docs/reports/phase-7-sdk-release.md
Normal file
27
docs/reports/phase-7-sdk-release.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# P7:SDK 独立发布门禁
|
||||
|
||||
验证日期:2026-09-20。本批为 SDK 发布准备增加独立 module 门禁,确保业务项目不会隐式依赖 Orbit 服务端模型、迁移或 MySQL。
|
||||
|
||||
## 门禁内容
|
||||
|
||||
[`scripts/test-sdk-isolation.sh`](../../scripts/test-sdk-isolation.sh) 在 SDK 目录强制 `GOWORK=off`,检查 go.mod 和完整依赖图,拒绝服务端内部包、平台模型、Pulse/Weave 包及 MySQL 驱动,然后运行:
|
||||
|
||||
- `go test -race ./...`
|
||||
- `go vet ./...`
|
||||
- `go build ./...`
|
||||
|
||||
门禁不发布模块、不生成 replace 路径,也不把 API 兼容性结论扩大到未执行的旧/新版本组合。
|
||||
|
||||
## 实际结果
|
||||
|
||||
在 Docker Go 1.25 临时 modfile 环境(仓库声明版本为 Go 1.27.1)执行门禁,退出码为 0:
|
||||
|
||||
``@@BT@json
|
||||
{"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":27,"forbidden_dependencies":0}
|
||||
``@@BT@
|
||||
|
||||
该轮覆盖 SDK 核心、Worker/事件客户端、流程/任务 API、负载工具和全部可运行示例;新增文件转换示例的单元测试也通过。文档本地链接、shell 语法和 `git diff --check` 同步通过。
|
||||
|
||||
## 发布边界
|
||||
|
||||
SDK 当前仍未发布正式版本标签。正式候选还需在资源充足环境用 Go 1.27.1 完成标准全量回归,建立旧 SDK/新服务端、新 SDK/旧服务端的协议兼容矩阵,并在干净 checkout 中验证版本标签、校验和与业务项目 `go mod tidy`。独立门禁不能证明外部业务幂等、TLS、凭据托管或生产容量。
|
||||
Reference in New Issue
Block a user