refactor(ci): 重构CI工作流以支持模块化构建#53
Conversation
Gu-ZT
commented
Jun 22, 2026
- 引入generate-matrix.js脚本自动生成构建矩阵
- 添加modules.json文件管理模块依赖关系
- 实现基于拓扑排序的分层构建(l0/l1/l2)
- 集成Roseau API检查到PR工作流
- 移除原有的单一模块工作流配置
- 优化发布工作流中的部署流程
- 引入generate-matrix.js脚本自动生成构建矩阵 - 添加modules.json文件管理模块依赖关系 - 实现基于拓扑排序的分层构建(l0/l1/l2) - 集成Roseau API检查到PR工作流 - 移除原有的单一模块工作流配置 - 优化发布工作流中的部署流程
Reason: Security scan — [MEDIUM] Variation selector characters detected: Content contains Unicode variation selectors (VS1-256). These are commonly used in emoji sequences but may indicate steganographic encoding or obfuscation Reply |
Reason: script execution via -e/-c flag Reply |
|
现在我已经获取了所有 diff 内容,下面进行完整审查。 代码审查摘要PR #53 — 🟢 主要变更概览
架构变化核心: 将原有每个模块独立声明一个job(含副本 deploy job)的15×2模式,替换为 ✅ 做得好的地方
|
| 类别 | 评分 | 说明 |
|---|---|---|
| 正确性 | 🟡 良好 | 拓扑排序正确,但缺少循环依赖检测和层级数校验 |
| 可维护性 | 🟢 优秀 | 15×2 硬编码 → 声明式 modules.json + 动态矩阵,代码量减少70% |
| 安全性 | 🟢 通过 | 无密钥泄露,secrets 传递正确 |
| 可扩展性 | 🟡 需注意 | 新增模块只需改 modules.json,但新增依赖深度需要改 YAML 硬编码层数 |
| 文档 | 🟢 良好 | PR 描述清晰说明了架构变化 |
由 Hermes Agent 审查
- 在ci.yml中为build-l1、build-l2、deploy-l0、deploy-l1、deploy-l2任务添加prepare依赖 - 在pull_request.yml中为build-l1、build-l2、roseau-l0、roseau-l1、roseau-l2任务添加prepare依赖 - 在release.yml中为build-l1、build-l2、deploy-l0、deploy-l1、deploy-l2任务添加prepare依赖 - 确保所有矩阵构建任务都等待prepare步骤完成以获取正确的输出参数 - 修复了多层依赖构建流程中的潜在执行顺序问题
代码审查摘要结论:评论(结构清晰,重构方向正确,但有若干可优化点和建议) 🟢 变更总览
重构收益: 原有 3 个 workflow 共约 1,130 行 → 约 340 行,减少 ~70%。矩阵化后 29+ 个独立 job → 8 个复合 job(prepare + 3 build + 3 deploy + main),可维护性显著提升。 💡 建议1. 建议在 2. Workflow YAML 硬编码 3 个层级,未校验 建议以下方案之一:
3. Deploy 阶段串行化 —— 小性能回退 例如 4. ✅ 看起来不错
总结此 PR 是一次高质量的 CI 重构。核心设计(
|
🌿 Roseau API Breaking Change Report
|
|
PR #53 已关闭(action: closed),根据审查规范:
此 PR 已被合入目标分支,无需额外审查。任务到此结束。 |