mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-17 18:11:20 -08:00
feat(release): [CI-NPM-03] add read-only registry recovery checks
This commit is contained in:
1 parent
783d1e3fd4
commit
5795492f0f
13 files changed
+570
-7
No files matched your search
@@ -0,0 +1,50 @@
|
||||
# CI-NPM-03:只读 registry 检查与部分发布恢复判断
|
||||
|
||||
## 目的与边界
|
||||
|
||||
从 CI-03 拆出独立可实施的 registry 预检,保留 CI-03 原有依赖和发布流程验收。
|
||||
没有进入 REVIEW-01/02/03,没有推送、发布、撤销版本或调整 tag。
|
||||
|
||||
新增 `yarn release:registry`,五个必填参数与 `release:verify-bundle` 相同:
|
||||
`--directory`、`--packages`、`--tag`、`--source-commit`、`--manifest-sha256`。
|
||||
命令先验证干净源码、独立摘要、下载包与登记候选及实时发布台账,再读公共 registry,
|
||||
最后复核本地内容和门槛。当前真实候选仍有开放门槛,不能借此命令绕过。
|
||||
|
||||
## 实现与维护
|
||||
|
||||
- `scripts/release/registry.ts`:固定官方 origin 的无认证 GET、15 秒请求/响应期限、
|
||||
10 MiB 上限、禁重定向,以及只认自身字段的元数据解析与逐包判断。
|
||||
- `scripts/release/registry-check.ts`:查询前后调用现有候选验证器;部分成功的包分别保留
|
||||
`not-observed`、`already-present`、`tag-change-required`、`conflict` 结果。
|
||||
- `scripts/check-release-registry.mjs`:固定 Node/Yarn、独立输入和退出状态;冲突输出报告后
|
||||
exit 1,网络/格式/本地证据失败 exit 1,不生成成功报告。
|
||||
- 没有新增依赖或更改锁文件。TS 配置和既有 CI 类型入口自动覆盖新模块;新增测试加入
|
||||
`test:release-bundle`,也由 `test:baseline` 自动发现。维护说明位于
|
||||
[scripts/release/README.md](../../scripts/release/README.md)。
|
||||
|
||||
查不到版本不证明可以使用该版本。可见的撤销历史直接阻断;没有历史也保留未知。
|
||||
已有相同 SHA-512 时禁止重复发布;tag 不同只报告待调整,包括可能倒退到旧版本的情况,
|
||||
不会自动更改。摘要匹配是元数据匹配,不是远端 tarball 下载或工作流来源验证。
|
||||
未来 CI-03 必须在授权使用时重新检查状态,并负责远端信任、权限、精确文件发布及读回。
|
||||
|
||||
## 验证
|
||||
|
||||
Node 24.21.0 / Yarn 1.22.22,起点 `783d1e3fd49ba56ed0ea38c29d385de1ae1adde0`。
|
||||
|
||||
- 发布工具 47/47 测试通过,其中新增 11 个用例组覆盖混合部分发布、tag-only、缺失/冲突
|
||||
摘要、撤销历史、格式错误、HTTP/传输/响应体失败、大小限制、查询中本地变化、CLI 拒绝。
|
||||
成功路径注入的完整台账是合成测试数据,不代表真实包准入。
|
||||
- 严格 release 类型检查、全仓只读 lint、测试文件定向 lint、严格工具链检查通过。
|
||||
- 真实只读 GET 返回 200;冻结 `artplayer@5.4.0` 的 SHA-512 与 registry 相符,latest
|
||||
仍为 5.4.0;6.0.0 在本次响应中不存在。只测试底层传输与解析,不冒充通过真实候选
|
||||
bundle 端到端发布门槛。时间、响应及日志摘要见[证据](../baselines/npm-registry-validation.json)。
|
||||
- 初次测试文件格式修正期间产生的多余右括号导致解析失败,修正后重跑 47/47;此前
|
||||
quote-props 格式报错也已修复,未删除或跳过失败用例。
|
||||
|
||||
共享工程源码和根脚本改变会使此前候选输入指纹失效;21 个库包必须在共享工程稳定后
|
||||
重新生成候选并绑定证据。运行时与公开声明没有改动,本任务不宣称候选仍可准入。
|
||||
|
||||
## 回退与剩余工作
|
||||
|
||||
回退本任务提交会移除新命令/模块/测试及文档,现有 bundle 准备和内容验证保留。
|
||||
CI-03 继续负责实际工作流、可信远端来源、OIDC/权限、授权执行和读回;未启用远端流程。
|
||||
Reference in new issue
Block a user