diff --git a/RELEASE.md b/RELEASE.md index 2baa818..bd2457e 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -41,3 +41,5 @@ python3 scripts/verifyCompatibilityRelease.py --version v0.9.0-preview \ ``` 测试覆盖旧 Handler 404 与访问日志、提交后错误/panic、标准中间件状态/取消/提前写响应、nethttp/native 实际流式下载与请求体超限、multipart 临时文件清理、自定义标量精度/越界/nullable/集合,以及真实生成项目的验签与重生成保护。远程脚本从全新 module cache 安装 CLI,并检查生成项目的固定版本、校验和以及没有本地 replace。 + +本版封版验收通过:40 个包全量 race、独立 userService 回归,以及全新缓存的远程消费者验证。详见 [完整验收记录](performance/compatibilityAcceptance.md)。 diff --git a/performance/compatibilityAcceptance.md b/performance/compatibilityAcceptance.md index 9026d14..c4d003f 100644 --- a/performance/compatibilityAcceptance.md +++ b/performance/compatibilityAcceptance.md @@ -17,7 +17,15 @@ ## 远程验收 -发布后执行 `scripts/verifyCompatibilityRelease.py --version v0.9.0-preview`,结果生成到 `performance/compatibilityRemote.json`,校验从全新 module cache 安装的 CLI 与消费者固定依赖、无本地 replace、重生成保护和运行时行为。该结果在 main 单独记录,发布标签保持不可变。 +已执行 `scripts/verifyCompatibilityRelease.py --version v0.9.0-preview`,通过。详见 [远程验收记录](compatibilityRemote.json)。 + +- 从全新 module cache 安装发布版 CLI,消费者固定依赖 `v0.9.0-preview`,无本地 replace。 +- 消费者实际生成、race 测试、自定义 ID/动态 JSON、请求体限额、上传清理、原文签名、下载和重生成保护通过。 +- 发布源码:`a8c973d8a2c24f3cc572f32a976349d9a97427a1`。 +- module 校验和:`h1:cYpW6HwZnLHsxq7thO1C2pR/H3vyoUQQhuBVuEHhtHw=`。 +- 耗时 13.51 秒;临时目录和缓存已清理。脚本与 fixture 哈希保存在 JSON 中。 + +验收结果在 main 单独记录,发布标签保持不可变。 ## 范围 diff --git a/performance/compatibilityRemote.json b/performance/compatibilityRemote.json new file mode 100644 index 0000000..f6e6faf --- /dev/null +++ b/performance/compatibilityRemote.json @@ -0,0 +1,31 @@ +{ + "passed": true, + "frameworkVersion": "v0.9.0-preview", + "frameworkSum": "h1:cYpW6HwZnLHsxq7thO1C2pR/H3vyoUQQhuBVuEHhtHw=", + "freshModuleCache": true, + "noLocalReplace": true, + "durationSeconds": 13.51, + "checks": [ + "remoteCLIInstall", + "scalarContractValidation", + "manualProjectGeneration", + "int64MaxValueOnWire", + "dynamicJSON", + "rawBodySignature", + "routeBodyLimits", + "multipartTempCleanup", + "unwrappedDownloads", + "handwrittenFilesPreserved", + "generatedConsumerRaceTests", + "fixedRemoteModuleChecksum" + ], + "sourceHashes": { + "scripts/verifyCompatibilityRelease.py": "90e487d3203ed4eb4bc721da8086356413345b3e05193e473250a834aeb8d293", + "cmd/go-omni/apigen/compatibility_test.go": "98cf5fbe6cb6413c12f709806d385726f3dec1468575f76967786de4707667ba", + "examples/contracts/compatibility.api": "3ede909e7f60386012e55c916a8e4887dd08562e7f023665f663288c809873d4", + "cmd/go-omni/apigen/testdata/compatibility/consumer_test.go": "0a99ffd6a5cc16d47ae8208d9140c8d6afd9c19106fac8e5e61096cb90d8c463", + "cmd/go-omni/apigen/testdata/compatibility/hooks.go": "435baf37c7f8adffd18d4be0353a791124e0bc5dcb79abdcc345276b6f9867f4", + "cmd/go-omni/apigen/testdata/compatibility/echo.go": "9e13cb18a0951974e723a1fd915c0f4610d823c95eadb752c3d1cd75c44fa293", + "cmd/go-omni/apigen/testdata/compatibility/download.go": "e7f4bcdb34c90ec63fdab1f3c4e524964ac153944352d8a9053a9f19b74030fd" + } +}