-
Notifications
You must be signed in to change notification settings - Fork 120
Closed
Description
[任务] 基于新算法统一构建范围计算,并升级 Orion Server API 与 Mono 调用逻辑
[任务分值] 30 分
[背景描述]
在当前 Mega Monorepo 的构建流程中,构建范围(Build Scope / Targets) 的确定存在明显的历史遗留问题:
1.Mono 侧承担了过多构建范围计算逻辑
- Mono 在接收到 CL / 文件变更后:
- 主动在仓库中 扫描 BUCK 文件
- 通过 BUCK 文件所在目录 反推出构建根目录
- 这种方式本质上是:
- “从文件系统结构猜测构建范围”
2.构建范围计算方式不精确
- 仅根据 BUCK 文件所在目录:
- 容易将构建范围扩大到整个子树
- 无法准确定位到真正受影响的 target
- 在基础库变更场景下:
- 经常导致 全量或超大范围构建
3.Orion 与 Mono 的职责边界需要重新梳理
-
目前:
- Mono:负责“算构建范围”
- Orion:只负责“触发构建”
-
目标状态应为:
- Mono:提供变更上下文
- Orion:基于统一算法确定最终构建范围并执行
因此,需要对现有流程进行一次系统性调整:
- 移除 Mono 侧基于 BUCK 文件的构建范围推断
- 升级 Orion Server 的 API,以支持新的构建范围输入与输出
- 同步更新 Mono 调用 Orion 时的行为与数据结构
[需求描述]
- 构建范围计算职责调整
目标原则
• 构建范围的“最终决定权”应集中在 Orion Server
• Mono 不再进行 BUCK 文件扫描与构建目录推断
- Orion Server API 升级
需要对 Orion Server 提供的构建触发 API 进行升级( breaking changes )
- Mono 调用逻辑更新
- 移除 Mono 中:
- 基于 BUCK 文件的扫描逻辑
- 构建目录推断代码
- 调整为:
- 直接调用 Orion 新 API
- 传递最小、准确的上下文数据
[代码标准]
- 所有 PR 提交必须签署
Signed-off-by和 使用GPG签名,即提交代码时(使用git commit命令时)至少使用-s -S两个参数,参考 Contributing Guide; - 所有 PR 提交必须通过
GitHub Actions自动化测试,提交 PR 后请关注GitHub Actions结果; - 代码注释均需要使用英文;
[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;
[开发指导]
- 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。
- Quanyi Ma [email protected]
- Tianxing Ye [email protected]
[备注]
- 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务 和 r2cn 开源实习计划 - 学生注册与审核