fix(release): verify installed registry package manifests - #165
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
摘要 / Summary
修正 RC 发布流水线在 Registry 插件安装完成后从错误对象层级读取包名的问题,并补充真实创建
node_modules/<package>/package.json的回归测试。该修复只涉及仓库发布工具与测试,不改变任何 npm 发布包包含的源文件。关联 Issue 或背景 / Related Issue or Context
N/A — 这是 PR #164 合并后首次
v0.5.0-rc.1分阶段发布中发现的发布门禁缺陷,直接修复用于安全恢复同一版本的发布。失败运行:https://github.com/omdsh-dev/dsh-mnemon/actions/runs/33803702613 。16 个插件已经发布;Starter、tag 与 GitHub Prerelease 尚未发布。涉及区域 / Affected Areas
PR 类型 / PR Type
最新代码确认 / Latest Codebase Confirmation
main分支开发,或在提交前已 rebase 或合并最新main。 / I developed from the latestmain, or rebased or merged the latestmainbefore submitting.同步命令 / Sync command:
git fetch origin main && git merge-base --is-ancestor origin/main HEADAI 编码披露 / AI Coding Disclosure
使用的 AI 模型 / AI model used:
OpenAI GPT-5 family (Codex)
使用的编码 Agent 工具 / Coding Agent tool used:
Codex desktop app
仓库规范检查 / Repository Rules
@deepseek-ai/*NPM 契约。 / I did not modify DSH source or point tsconfig at a DSH source checkout, and used only published@deepseek-ai/*NPM contracts.src/shared/contracts.ts为准,没有在两侧重复定义 wire DTO。 / The Client and Host boundary still usessrc/shared/contracts.tsas the single source for wire DTOs.lib/文件。 / I did not commit tokens, credentials, private memory, unredacted logs, or generatedlib/files.兼容性与数据安全 / Compatibility and Data Safety
不改变 DSH、Mnemon、Provider、用户配置、存储格式或现有数据。修复仅让发布后的临时安装目录按照
plan.packages[].manifest.name定位已安装包并验证精确版本;临时目录仍在 finally 中清理。恢复发布时,已存在的 16 个插件必须逐一与新冻结 tarball 的 Registry integrity 完全一致,否则在 Starter 发布前拒绝继续。本地验证 / Local Validation
执行的命令 / Commands run:
pnpm exec vitest run tests/release.spec.mjs tests/version-updates.spec.ts pnpm release:check pnpm run verify:build pnpm --workspace-concurrency=1 -r build git diff --check结果摘要 / Result summary:
全部通过。发布与 updater 共 32 项测试通过;新增用例在临时目录安装模拟的冻结 Starter 与全部 Registry 插件,并逐个读取实际包清单验证版本,能够在修复前稳定复现
path收到undefined的失败。确定性构建通过 39 个输出文件;全部 16 个 workspace 插件重新构建成功。用户可见变更证据 / Local Feature Evidence
证据 / Evidence:
N/A — 这是仅影响维护者发布流水线的内部修复,没有用户可见 UI 或运行时行为变化。失败日志和新增回归测试共同提供可复现证据。