mirror of
https://github.com/iflytek/skillhub.git
synced 2026-09-08 22:21:09 +00:00
docs(governance): record issue 611 R3 verification
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
This commit is contained in:
parent
433f3bb20b
commit
dd6013c48c
1 changed files with 32 additions and 9 deletions
|
|
@ -4,8 +4,9 @@
|
|||
- 状态:本地验证及 `big-main` 远端验证均已通过
|
||||
- 基线:`origin/main@6817d98007c7890c1a8ecb3e822272287bb37a05`
|
||||
- 工作分支:`fix/issue-611-child-fks`
|
||||
- 修复提交:`e7a23b434bc7be58df6e541c821853fb8a5fab24`
|
||||
- 已测试的 `big-main` 合并提交:`43f6d1671949d279ab05720fcddd20a25f0c2607`
|
||||
- 修复提交:`41704e151e0152cdc7688e5b5baec1df75b02dd7`
|
||||
- 提交身份:`XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>`
|
||||
- 已测试的 `big-main` 合并提交:`4bf7d52118a43735240a9be6241d04531bd69cbc`
|
||||
|
||||
## 一、判断结论
|
||||
|
||||
|
|
@ -76,13 +77,18 @@ DELETE /api/web/skills/global/issue-611-repro/versions/1.0.0
|
|||
| 2026-07-30 15:02–16:06 | 实现修复并执行单元、集成、PostgreSQL、前端和 staging 验证 | 功能、数据完整性和并发场景通过 |
|
||||
| 2026-07-30 16:06 | 执行后端回归 | 排除已知污染类后 659 项通过、1 项跳过;被排除类单独 9/9 通过 |
|
||||
| 2026-07-30 16:08 | 删除本地测试容器、网络、镜像、数据和 staging 临时覆盖 | 清理完成 |
|
||||
| 2026-07-30 16:16 | 提交并推送工作分支 | 修复提交 `e7a23b43` |
|
||||
| 2026-07-30 16:16 | 提交并推送工作分支 | 原修复提交 `e7a23b43` |
|
||||
| 2026-07-30 16:17 | 合入最新 `origin/big-main` 并普通推送 | 合并提交 `43f6d1671949d279ab05720fcddd20a25f0c2607` |
|
||||
| 2026-07-30 16:18 | 从该 `big-main` worktree 执行 Java 21 干净构建 | 8 个 Maven 模块构建成功 |
|
||||
| 2026-07-30 16:18–16:38 | 构建首张测试镜像并执行远端矩阵 | 功能矩阵 56/56 通过,但复核时发现 OCI revision 的完整 SHA 后缀记录错误,因此不作为最终证据 |
|
||||
| 2026-07-30 16:44–16:49 | 使用真实 full SHA 重建 R2 镜像、传输到远端、创建全新隔离栈并重新执行全部场景 | 最终 56/56 通过 |
|
||||
| 2026-07-30 16:49 | 固化 R2 镜像、脚本、报告哈希及健康状态 | 镜像 revision 与实际 `big-main` commit 完全一致 |
|
||||
| 2026-07-30 16:50 | 删除 R2 测试容器、网络、卷、镜像、脚本和日志 | 28081 端口关闭;原 8080 服务仍为 `UP` |
|
||||
| 2026-07-30 17:18 | 将两个 PR 提交重写为 GitHub 账号 `XiaoSeS`,补充 `Signed-off-by` 并使用带精确旧 SHA 的 `force-with-lease` 推送 | 文件树与重写前完全一致;新修复提交为 `41704e15`,DCO 通过 |
|
||||
| 2026-07-30 17:19 | 将重写后的 PR 提交重新纳入 `big-main` 并普通推送 | 新合并提交为 `4bf7d52118a43735240a9be6241d04531bd69cbc`,相对前一 `big-main` 文件树无变化 |
|
||||
| 2026-07-30 17:20 | 从新 `big-main` 提交执行 Java 21 干净构建并构建 R3 测试镜像 | 8 个 Maven 模块构建成功;OCI revision 与完整提交 SHA 一致 |
|
||||
| 2026-07-30 17:23–17:28 | 将 R3 镜像传输到远端测试机,创建全新隔离栈并执行原 56 项矩阵 | PostgreSQL 16.14 上 56/56 通过 |
|
||||
| 2026-07-30 17:29 | 固化 R3 证据哈希并删除远端测试资源 | 28081 端口关闭;原 8080 服务及 `v0.2.15` 容器保持健康 |
|
||||
|
||||
远端传输期间,SFTP 曾停在 0 字节。确认测试尚未开始、数据库中没有测试数据后,仅终止了持有
|
||||
测试脚本文件的残留 `sftp-server`/`dd` 进程,改用 SSH 命令通道传输,并在执行前校验
|
||||
|
|
@ -139,20 +145,37 @@ SHA-256。没有停止或修改远端既有 SkillHub 服务。
|
|||
- Docker Compose:`v5.1.1`
|
||||
- PostgreSQL:`16.14`
|
||||
- Redis:`redis:7-alpine`
|
||||
- 已测试提交:`43f6d1671949d279ab05720fcddd20a25f0c2607`
|
||||
- 最终镜像:`skillhub-server:issue-611-big-main-43f6d167-r2`
|
||||
- 已测试提交:`4bf7d52118a43735240a9be6241d04531bd69cbc`
|
||||
- 最终镜像:`skillhub-server:issue-611-big-main-4bf7d521-r3`
|
||||
- 最终镜像 ID:
|
||||
`sha256:a71fa5d0aad0e0d6ecc65e33c29ec6b844d7fecdeec0c83e9e82e27b388f3899`
|
||||
- OCI revision:`43f6d1671949d279ab05720fcddd20a25f0c2607`
|
||||
`sha256:3453a2b21b05d157c7955a2e00c0d90eb771a95c82ddb5490f008a008138de2e`
|
||||
- OCI revision:`4bf7d52118a43735240a9be6241d04531bd69cbc`
|
||||
- 构建 JAR SHA-256:
|
||||
`165f9d5a522ef4ec8911c1d7896306895ecad4cba3ed2ef633a8883982ff5df7`
|
||||
`4b4a374506cd6ddfd611d10b738e11d08fb94d4238e836781ffd757c03e86e39`
|
||||
- 测试脚本 SHA-256:
|
||||
`455cc712375aa299d3d04bce0c61eafaaf09355faefa303b67ca72e5036fcd76`
|
||||
- 最终原始测试输出 SHA-256:
|
||||
`801f3301acc1a7f12e0a57301791705c9c5a320eae45931b9fcf71c28a617153`
|
||||
`10c2b26a98d3b52cee6175d03897788ba2bc1f9b3598054ef66cecea79d9e897`
|
||||
- 隔离 API:`127.0.0.1:28081`
|
||||
|
||||
测试部署使用独立容器名、网络、PostgreSQL 数据卷、对象存储卷和端口,不替换远端既有运行环境。
|
||||
R3 是修正提交身份和 DCO 后的最终验证制品;其完整测试矩阵与 R2 相同,测试脚本哈希也保持一致。
|
||||
|
||||
### 并发测试隔离说明
|
||||
|
||||
本次 R3 使用 `skillhub-611-r3-4bf7d521-*` 作为资源前缀,并在创建资源前检查容器名、网络、
|
||||
数据卷和 `127.0.0.1:28081` 是否已占用。发生冲突时测试会退出,不会接管或删除已有资源。
|
||||
测试前后均确认远端既有 `ghcr.io/iflytek/skillhub-server:v0.2.15` 容器在 8080 端口保持
|
||||
`running`、`healthy` 和 `{"status":"UP"}`。
|
||||
|
||||
固定的 28081 端口只能避免破坏,不能支持多个 Issue 同时运行。后续远端验证需要采用以下并发规则:
|
||||
|
||||
- 每次测试生成包含 Issue、精确提交和随机后缀的唯一 run ID。
|
||||
- 由 Docker 自动分配仅绑定回环地址的临时端口,启动后读取实际端口传给测试脚本。
|
||||
- 容器、网络、数据卷、镜像和临时文件全部携带 run ID;清理只按该 run 精确执行。
|
||||
- 禁止在共享测试机执行 `docker system prune`、宽泛名称匹配或未指定项目名的全局清理。
|
||||
- `big-main` 更新必须先 fetch 并使用普通 push;远端头变化时重新合并并生成新的待测 SHA。
|
||||
- 测试报告必须记录精确的 `big-main` SHA、镜像 ID、OCI revision、动态端口和测试输出哈希。
|
||||
|
||||
### 测试矩阵
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue