From 8a348951eb1ea0a39578ecdbd7a6eb132ca1f321 Mon Sep 17 00:00:00 2001 From: k2safe Date: Thu, 24 Sep 2026 17:36:04 +0800 Subject: [PATCH] test: record remote managed project release acceptance --- RELEASE.md | 2 +- performance/managedProjectAcceptance.md | 13 +++++++- performance/managedProjectRemote.json | 40 +++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 performance/managedProjectRemote.json diff --git a/RELEASE.md b/RELEASE.md index 212e0d1..4083921 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -26,7 +26,7 @@ go run . ## 验收与范围 -发布前全量 race 测试、go vet、go build 和本地实际生成项目进程验收通过,记录见 [生成项目验收](performance/managedProjectAcceptance.md)。远程发布后使用以下命令独立验收安装产物;结果另行提交至仓库,不改写已发布标签: +发布前全量 race 测试、go vet、go build 和本地实际生成项目进程验收通过。发布后的空缓存远程验收也已通过,记录见 [生成项目验收](performance/managedProjectAcceptance.md) 和 [远程产物报告](performance/managedProjectRemote.json)。报告作为单独提交保存,v0.12.0-preview 标签保持在发布代码提交 `158b8002b355f09237cd12f49d9b66ee78d493f3`,没有改写。复验命令: ```sh GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -p=1 -count=1 -timeout=300s ./... diff --git a/performance/managedProjectAcceptance.md b/performance/managedProjectAcceptance.md index cc9f8ba..c892dc0 100644 --- a/performance/managedProjectAcceptance.md +++ b/performance/managedProjectAcceptance.md @@ -41,8 +41,19 @@ ## 边界 -未修改 eTax/ePay;未连接业务服务器、真实数据库或云存储;没有负载/soak 测试。以上源码验收不代替远程产物验收。数据库/云存储配置组合通过生成项目编译与既有测试,不能据此声称真实环境集成完成。 +未修改 eTax/ePay;未连接业务服务器、真实数据库或云存储;没有负载/soak 测试。源码与远程产物均在本地临时服务上验收。数据库/云存储配置组合通过生成项目编译与既有测试,不能据此声称真实环境集成完成。 multipart 通过流式 Parts 处理,不产生临时文件。业务负责字段/文件内容校验、存储和实际签名算法。请求读取后再提交业务副作用;超限或读取失败不能回滚业务自行提前写出的数据。Range、SSE 等特殊行为仍可显式选择手写 Handler。 项目维护边界见 [PROJECT.md](../PROJECT.md),可运行示例见 [managedService](../examples/managedService/README.md)。 + +## 发布后的远程产物验收 + +2026-09-24 执行 `python3 scripts/verifyManagedRelease.py --version v0.12.0-preview` 通过,耗时 28.89 秒;[机器报告](managedProjectRemote.json) 记录依赖校验和与验收源码哈希。 + +- 不可变标签对应代码提交 `158b8002b355f09237cd12f49d9b66ee78d493f3`;CLI 从远程仓库安装,使用全新 GOMODCACHE。新生成项目不传 framework-dir 或 framework-version,自动固定 CLI 自身版本。 +- 框架 module 为 v0.12.0-preview,校验和 `h1:o9dN8YdhE9o4EcGWAuFb/EGCcQlWRR7IMUc/G7Ymkeg=`;消费者无本地 replace,四个生成消费者验证同一校验和。 +- 实际生成新目录,根目录 go run/go build;修改 DTO 后 dry-run/check 只读,重新生成保留业务源码,签名问题持续报错;修复签名后检查、测试与构建通过。 +- nethttp/native 二进制分别验证 SIGINT/SIGTERM、退出码和端口释放。下载、原文回执、上传、损坏 multipart、默认 404/405 和 Go 错误目录通过真实本地 HTTP 请求验证。 +- 四个消费者 race 回归全部通过:TestManagedGeneratedProject、TestErrorInheritanceConsumer、TestErrorParamsConsumer、TestCompatibilityConsumer;覆盖初始化/监听失败清理、先排空后关闭依赖、错误参数与继承、手写 hook 和自定义标量。 +- 临时缓存、生成项目、进程和监听端口已回收。这个报告在发布后单独提交,不移动已经发布的标签。 diff --git a/performance/managedProjectRemote.json b/performance/managedProjectRemote.json new file mode 100644 index 0000000..1d9ba16 --- /dev/null +++ b/performance/managedProjectRemote.json @@ -0,0 +1,40 @@ +{ + "passed": true, + "frameworkVersion": "v0.12.0-preview", + "frameworkSum": "h1:o9dN8YdhE9o4EcGWAuFb/EGCcQlWRR7IMUc/G7Ymkeg=", + "freshModuleCache": true, + "noLocalReplace": true, + "durationSeconds": 28.89, + "checks": [ + "remoteCLIInstall", + "freshModuleCache", + "fixedVersionNoReplace", + "contractChangePreview", + "persistentLogicSignatureFailure", + "businessSourcePreserved", + "fixedConsumerBuild", + "rootGoRun", + "nethttpAndNativeSignals", + "listenerReleased", + "default404And405", + "goOwnedErrorCatalog", + "unwrappedDownloads", + "rawCallback", + "multipart400And413", + "nethttpAndNativeTransfers", + "initializationAndListenFailureCleanup", + "drainBeforeDependencyClose", + "generatedConsumerRaceTests", + "errorParamsAndInheritance", + "manualHooksAndScalars" + ], + "sourceHashes": { + "scripts/verifyManagedRelease.py": "cab31299386a17c10181eb7f1936165ea49fa0565c083c2846807d83297fb7c1", + "scripts/verifyManagedProject.py": "bed710ae5d78017069e8bfd3e2df4943089641cfde179f67a3a8f1883369c41b", + "cmd/go-omni/apigen/managed_test.go": "a591f7c8c799100f05be71b09a8088a29f21d64612394af20f4711a24a7cb32c", + "cmd/go-omni/apigen/testdata/managed/options.go": "30d48e4b5aab476c887ac53cc89b48b2b7e250c8cd25e55fecb49bb2a3589247", + "cmd/go-omni/apigen/testdata/managed/client.go": "272ad9d980cd1b6e8de02298b5d273e693e2abcb902a96ea8f3b2ff53d7b0082", + "cmd/go-omni/apigen/testdata/managed/consumer_test.go": "9e103c9de7a1a906903bc09787e1b38905dc5bb4d891c88938028da5dee98f6f", + "cmd/go-omni/apigen/testdata/managed/operations.go": "d20e792380b9c8f8bb37f12522de78ff2dcc986005ab999dbb0e8bfedf0ec9c4" + } +}