Skip to content

Verification

supdger edited this page Oct 1, 2026 · 7 revisions

测试与验证范围

当前状态

当前处于开发阶段。实际安装包的安装、构建与续编已完成下方验证,Linux 数据库和业务流程尚未完整验收。固定提交、包摘要和运行记录用于追溯;自己的项目仍须执行接口回归。

实际完整包续编验证

2026-10-01,作者 Agent 在 macOS Apple Silicon 隔离目录安装实际原生完整包,然后通过安装后的启动器运行中立 Webman 109 单元项目。固定原生构包修订为 f3609c91bdcbb4b51b7edd88aa16ffa51c6ae8ba;安装后没有覆盖为源码副本。

操作 已复用 / 总单元 命令全过程耗时 结果
首轮构建 0/109 33.65 秒 全编、链接及产物校验通过
同输入重试 109/109 20.40 秒 复用后重新链接及产物校验通过
损坏对象及完成记录 107/109 22.19 秒 两单元重编,产物校验通过
源码变化 108/109 23.69 秒 变更单元重编,产物校验通过
build --fresh 0/109 30.78 秒 全编及产物校验通过

该包名为 webman-aot-builder-0.4.0-full-macos-arm64.tar.gz,大小 264,120,501 字节,SHA-256 为 ad24551775525cb0f75a15db747186fa13ae4687dcd9af6acbbb491e0a297f3c。首轮与同输入重试的 ELF SHA-256 均为 6ed6a272f74d2a3afd470c16213f78644e5945954804f7df063385df3af45708。

这些是本地实际完整包安装与构建记录,不等于公开资产匿名下载、Composer 0.4.0 自动准备、Windows 0.4.0 真机续编、PHP 8.1 或 Linux 业务验收。独立验收、Windows CI 和公开发布状态须按各自固定记录补充;不能将源码候选检查记成正式包验证。耗时因输入和机器而异,没有承诺所有项目加速比例。

Windows 原生 CI

固定源码运行 36894653041 在 Windows Server 2022 runner 上实际安装同版轻量/完整包,安装与项目路径包含中文和空格。原生包仍由 f3609c91bdcbb4b51b7edd88aa16ffa51c6ae8ba 构建,消费者辅助脚本固定于 726495246b6b7e96de2ffe1c9129a696eba1d662。

操作 复用 / 总单元 全过程耗时 结果
首轮构建 0/109 49.50 秒 全编、链接及产物校验通过
同输入重试 109/109 21.46 秒 重新链接及产物校验通过
损坏对象及完成记录 107/109 21.74 秒 两单元重新编译
源码变化 108/109 28.55 秒 变更单元重新编译
全量重建 0/109 49.87 秒 全编及产物校验通过
强制中断编译进程树后重试 14/109 见原生日志 重编剩余95单元、重新链接、校验并发布产物

强制中断场景先结束构建父进程(此时6项已完成、7个旧子进程仍活),再按记录的PID和创建时间结束本任务旧native子树(此时14项已完成),然后立即从安装后的公共 webman-aot.cmd 重试。新attempt与旧attempt不同;同项目并发构建安全拒绝,退出码78。任务进程清理检查为空,用户与系统PATH保持不变。

另一次只结束父进程的实际恢复记录显示旧子进程继续完成全部对象,重试合法复用109/109并重新链接、校验成功;该运行最后的测试要求部分复用,因此整轮CI状态为失败。本节正式通过记录使用上方固定运行。Windows CI 是原生runner执行;用户Windows物理机续编、PHP8.1流程与Linux业务验收仍未完成。

源码候选续编验证

以下是 2026-10-01 在 macOS 的受控源码候选验证;正式发行安装和公开资源下载须另列实际完成记录,不能用此处源码结果替代。

检查 已观察结果 范围
首轮与不改输入重试 首轮全编 109 单元;重试复用 109/109,重新链接,ELF SHA-256 一致 同一中立 Webman fixture,非所有 Webman / SaiAdmin 项目
中断恢复 强制终止父进程后,重试复用已提交的完整对象、重编其余单元 macOS 实际进程;旧子进程写独立attempt,完整对象经摘要校验后复用
损坏缓存 损坏对象或截断完成记录不能复用,对应单元重新编译 对象与元数据失效;不代表任意磁盘损坏可恢复
输入变化 源码变化触发对应重编;工具链、头文件、SDK 配置及 flags 字节变化触发缓存失效检查 实际文件及子进程验证,不等于每种 ABI 组合均编译验收
全量重建 --fresh 复用 0/109,重新编译并验证产物 不清理旧缓存及失败 attempt
失败与重试 语法错误失败时不发布新产物;修复后重新构建成功 原始错误及退出码保留

Windows 0.4.0 真机硬退出恢复与 PHP 8.1 原生流程尚未验证。上述候选结果不证明公开安装、Composer 自动取得 0.4.0 资源或 Linux 启动、数据库及业务接口验收。候选与正式资产身份、安装证据以发布时固定的提交及下载摘要补充;操作见安装入口与源码构建指南。

历史输入与验收层

版本 / 输入 安装与编译 产物静态校验 Linux 启动与业务
正式 v0.3.0,bfce7df… macOS / Windows 公开 setup 与完整包编译通过;轻量范围见下文 自动 verify 通过 本次引导验收未运行目标 Linux,也未验收数据库接口
v0.3.0 开发候选 原生引导功能与失败路径通过 候选编译与验证通过 不代表正式资产或目标业务通过
历史锁定 SaiAdmin 输入 全量编译、跨宿主摘要比较已有记录 同一 ELF 静态检查已有记录 Ubuntu 24.04 隔离虚拟机四条路径通过;CentOS 7 / Alibaba Cloud Linux 3 仅启动与验证码
历史 v0.1.x / v0.2.x 按下方固定证据与对应 Release 查看 范围各异 不能自动延伸为当前版本或所有目标机通过

上述各层的验证结论仅限对应输入与已有证据。操作与业务验收仍按构建指南、部署指南及Linux 进阶验收执行。

v0.3.0 正式资产与引导证据

macOS Apple Silicon 与 Windows x64 的原生私有安装测试覆盖源码入口、轻量 / 完整包选择、独立 setup 下载、摘要与清单校验、新安装版本检查,以及实际 Webman 项目编译后自动 verify。开发候选的 Windows 原生验收 覆盖三条实际项目构建链、取消、项目失败、HTTP 404、证书失败和损坏摘要处理;此记录证明引导功能,不代表其开发候选包就是正式 v0.3.0 资产。

v0.3.0 正式 Release 的安装包固定于提交 bfce7dfd4c2cdc7e803767f8cc396dfbe913b751。发布后的 Windows 原生验证 从公开地址匿名下载精确 setup 和安装包,在独立空缓存中运行 setup:轻量、完整包均安装并检查新版本 0.3.0,完整包编译 109 个文件后自动验证通过。macOS Apple Silicon 同样从公开地址匿名下载 setup ZIP,运行其中的实际 command,在独立空缓存中下载完整包、私有安装 0.3.0,并重新编译 109 个文件后自动验证通过。两平台保留用户 PATH,临时子进程已结束;轻量 macOS 安装复用发布前同字节的原生验证。

verify 检查构建产物的结构、完整性和工具报告的目标静态属性。本次引导流程的测试没有在 Linux 目标机启动生成程序,也没有验收数据库或业务接口;这部分按 Linux 目标机验收 执行。下方历史业务证据不自动延伸为 v0.3.0 的业务验收。

历史证据

以下表格主要是更名前形成的历史证据,固定提交与 Actions 运行不因仓库改名而变成 v0.2.0 的验收。v0.2.0 的验证摘要见 历史 Release 记录 和 Windows CI 运行。证据文件不进入默认分支的源码下载 ZIP, 也不进入安装包。

检查 已有证据 边界
SaiAdmin 全量编译与业务运行 编译、覆盖清单及隔离 Linux 四条业务路径 四条路径在 Ubuntu 24.04 隔离虚拟机通过,不是每台目标服务器都通过
Mac / Windows 产物一致 跨宿主构建记录 已比较同一项目的 ELF、覆盖和资源摘要;修复运行数据排除后 Windows 未重复全量构建
两台现有 Linux 目标机 CentOS 7 虚拟机 · Alibaba Cloud Linux 3 ECS 同一 ELF 的静态检查、启动和验证码通过;未在两台机器上做数据库登录验收
历史打包边界 运行数据排除与复核 历史导出数据不再进入候选包
v0.1.0 Windows 安装包 公开验收运行记录 新包安装、doctor --repair、中立 Webman 2.2.4 项目编译及 verify 通过;53 个直接编译、6 个 AOT 替代。此运行没有在 Linux 启动生成的程序
v0.1.1 Windows 安装包 公开验收运行记录 Windows Server 2022 上从源码两次构包并对照内容,安装时自动校验 payload,doctor --repair、环境健康检查、中立 Webman 2.2.4 项目编译、verify 与从项目目录卸载均通过;此运行没有在 Linux 启动生成的程序
v0.1.2 Windows 安装包 公开验收运行记录 用不同修订标识从源码构包后,仅按公开说明传入 -Compare 自动读取参考包标识,逐文件对照通过;安装、组件准备、环境检查、中立 Webman 2.2.4 项目编译、verify 和卸载均通过。目标 Linux 运行未在此运行中复测
v0.1.2 源码对照命令 Windows 验收运行记录 GitHub 源码 ZIP 解压后和 Windows Git 检出分别执行固定的 -CompareRelease 命令,均自动下载并校验发布包、得到 134 文件 [MATCH];生成包完成安装、版本检查和卸载。此项不重复声称业务或目标 Linux 运行验收

表格中的 webman-aot 命令是历史 v0.1.0–v0.1.2 验收记录里的旧命令。 当前版本命令为 webman-aot verify;它证明包结构和覆盖清单,不等于 目标机业务验收。新增插件、 更换依赖版本或修改业务代码后,应重新编译并执行项目自己的接口回归。

合并的历史原生平台记录

以下是旧发行说明中的独立测试记录,只限当时输入,不能延伸为当前安装正常或全部业务通过。

当时检查 固定记录 范围与限制
命名与安装路径迁移后的包对照 运行 36302109981 轻量/完整包内容、安装卸载、旧状态保留、中立 Webman 构建与静态回放;外层 ZIP 不是逐字节复现
带空格的安装路径 运行 36313146404 当时产品树的两种包、安装与构建校验;不代表所有特殊字符路径
旧代次与同名命令升级 候选 36327435709 · 构包 36328243266 候选操作与正式构包是不同输入身份,需分开追溯
空缓存公开轻量包 运行 36329786002 下载组件、摘要检查、中立项目编译与校验;未代替目标业务
Windows CRLF SaiAdmin 输入 候选 36341464889 构建与产物验证;不等于全部 SaiAdmin 依赖组合
后续正式构包与公开空缓存 构包 36367331390 · 在线验收 36369197969 正式包身份、安装与组件下载的历史结果;运行平台与业务范围按原记录确认

历史轻量/完整包的大小和摘要以相应 Release 的资产及校验清单为准;不在常设操作指南复制一份需要逐版同步的资产表。运行时重链接材料的固定摘要是可复现证据,仍保留在专门的来源页面。

Clone this wiki locally