docs: prepare v0.1.0 remote SDK integration release

This commit is contained in:
2026-09-20 23:04:23 +08:00
parent 662dc8d0d1
commit 0e8b2ef297
5 changed files with 49 additions and 21 deletions

View File

@@ -6,10 +6,10 @@ SDK 位于独立 Go module `git.yuntuo.hk/k2safe/orbit/sdk/go`。它只能依赖
在仓库根目录执行:
``@@BT@sh
```sh
GO=/path/to/go \
sh scripts/test-sdk-isolation.sh
``@@BT@
```
门禁会强制 `GOWORK=off`,检查 `go.mod` 和完整依赖图,然后运行:
@@ -19,9 +19,9 @@ sh scripts/test-sdk-isolation.sh
成功输出示例:
``@@BT@json
{"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":27,"forbidden_dependencies":0}
``@@BT@
```json
{"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":30,"forbidden_dependencies":0}
```
`package_count` 随示例增加而变化,不能作为兼容性版本号。门禁只证明源码在当前 Go 工具链下保持独立和可构建,不代表已经发布到远端模块代理,也不替代旧 SDK/新服务端和新 SDK/旧服务端的协议兼容矩阵。
@@ -29,12 +29,17 @@ sh scripts/test-sdk-isolation.sh
## 接入方式
SDK 尚未发布正式标签时,开发项目可以使用本地 replace;发布候选必须使用独立 module 的版本标签和干净 checkout 验证。接入方应固定 SDK 版本,升级前先执行自己的接口和业务幂等回归:
首个接入版本为 `v0.1.0`,需要 Go 1.27.1 或更高版本。接入方应固定 SDK 版本,升级前先执行自己的接口和业务幂等回归:
``@@BT@sh
go mod edit -require=git.yuntuo.hk/k2safe/orbit/sdk/go@v0.0.0
go mod edit -replace=git.yuntuo.hk/k2safe/orbit/sdk/go=/absolute/path/to/orbit/sdk/go
```sh
go get git.yuntuo.hk/k2safe/orbit/sdk/go@v0.1.0
# 在业务代码导入 SDK 并添加调用后:
go mod tidy
``@@BT@
go mod verify
```
替换路径只用于本地开发,不能提交到业务项目的发布分支。SDK 不负责 TLS 终止、凭据托管、对象存储或外部副作用核查;这些边界仍由平台接口手册和接入方运行手册定义。
仓库主分支为 `main`。服务端标签 `v0.1.0` 和独立 SDK 标签 `sdk/go/v0.1.0` 指向同一发布提交;Go 子模块标签必须包含 `sdk/go/` 前缀,业务端的模块版本不带此前缀。已发布标签保持不可变,修复使用新的补丁版本。`v0.1.0` 用于开发与测试接入,正式生产仍需完成[交付核对清单](../release-checklist.md)。
发布后需在仓库外新建业务 module、使用空模块缓存和 `GOWORK=off`,通过匿名远端下载,执行 `go mod tidy`、编译、SDK 调用 smoke 和 `go mod verify`,确认解析版本精确为 `v0.1.0` 且不存在 `Replace`。后续发布继续重复这一步,并按[兼容矩阵](compatibility.md)验证旧/新组合。
本地联调可以临时添加 `replace`,但不能提交到业务项目的发布分支。SDK 不负责 TLS 终止、凭据托管、对象存储或外部副作用核查;这些边界仍由平台接口手册和接入方运行手册定义。