mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 01:15:14 +08:00
feat: add official full pull smoke
Emit runtime download progress and validation summaries for official sync. Add repeatable real-network full pull smoke runbook and script. Fixes #4 Fixes #6
This commit is contained in:
@@ -319,26 +319,30 @@
|
||||
|
||||
- GitHub Actions 或等价 CI 执行 format、lint、test、build。
|
||||
|
||||
### G-018:真实官方网络全量下载 smoke test 未记录
|
||||
### G-018:真实官方网络全量下载 smoke test 已固化为可重复命令
|
||||
|
||||
状态:**未关闭**
|
||||
状态:**已关闭(已固化可重复 smoke 命令;真实下载产物不纳入 Git)**
|
||||
|
||||
现象:
|
||||
历史现象:
|
||||
|
||||
- 本地测试覆盖 mock、fixture、synthetic import 和 CLI 参数。
|
||||
- 尚未在隔离输出目录记录一次真实官方网络全量下载。
|
||||
- 曾缺少真实官方网络全量下载的固定 runbook 和可重复命令。
|
||||
|
||||
影响:
|
||||
处理结果:
|
||||
|
||||
- 无法用文档证明当前 `bat` 在真实官方网络环境下完成首次下载、二次静默 up-to-date 和本地损坏 repair。
|
||||
- 新增 `scripts/official-full-pull-smoke.sh`,默认在 `/tmp/bat-official-smoke-<UTC timestamp>/` 下创建隔离资源目录、状态目录和报告目录。
|
||||
- 新增 `make official-smoke` 统一入口。
|
||||
- 新增 `docs/guides/official-full-pull-smoke.md`,记录目标、命令、输出结构、环境变量、安全边界和成功判定。
|
||||
- smoke 流程覆盖 dry-run plan、首次全量拉取、二次 `up_to_date`、人工破坏 active release 文件后的 `repair`、repair 后 `verify`。
|
||||
- 脚本会检查二次 `up_to_date`、repair 完成、verify `healthy=true`,并检查首次拉取和 repair 的 stderr log 中存在总体下载进度、单文件进度和校验结果日志。
|
||||
- 运行报告 `SMOKE_REPORT.md` 记录实际输出目录、active release、文件数量、release 大小和被破坏文件;大型官方资源文件保留在隔离输出目录,不纳入 Git。
|
||||
|
||||
验收:
|
||||
|
||||
- 使用独立目录执行 dry-run。
|
||||
- 执行真实首次下载,不指向任何现有客户端或人工维护资源目录。
|
||||
- 二次运行返回 `up_to_date`,watch 模式在 up-to-date 时静默。
|
||||
- 人工破坏一个本地文件后,audit 检出并 repair。
|
||||
- 记录命令、摘要、输出目录和未纳入 Git 的大文件位置。
|
||||
- 使用 `scripts/official-full-pull-smoke.sh` 或 `make official-smoke`。
|
||||
- 默认输出目录必须是独立 `/tmp` 目录;非 `/tmp` 路径需要显式设置 `BAT_SMOKE_ALLOW_NON_TMP=1`,且输出目录必须为空。
|
||||
- 脚本退出码为 0 即表示 runbook 验收通过。
|
||||
- 真实网络执行需要外部网络和足够磁盘空间;本仓库只保存 runbook、脚本和测试,不保存官方大文件。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user