-
Notifications
You must be signed in to change notification settings - Fork 123
Description
[任务] 支持编辑文件后自动创建 CL 并触发构建流程
[任务分值] 35 分
[背景描述]
在当前 Mega / Orion 构建体系中,构建通常依赖已有的 CL(Change List)或显式触发条件。
但在实际使用过程中,存在以下问题:
• 用户在 编辑文件后,系统会 直接生成一个 Git commit
• 该流程:
• 绕过了 CL(Change List) 这一核心抽象
• 与 Mega 现有的代码评审、构建、合并模型不一致
随着构建触发模型逐步从「隐式触发」向「显式、可扩展触发模型」演进,需要将 “文件编辑 → CL → 构建” 串联成一个清晰、可复用的标准流程。
[需求描述]
一、目标
• 恢复并强化 CL 作为变更核心载体 的设计
• 保证编辑、构建、评审、合并流程的一致性
• 为后续构建触发模型、Code Review 功能扩展打下基础
二、功能需求
-
编辑文件后不再直接生成 Commit
• 当用户在 UI / API 中编辑文件并保存时:
• 禁止直接创建 Git commit
• 改为进入 CL 流程 -
自动或显式新建 CL
• 编辑文件后:
• 若当前无 open CL → 自动创建一个新的 CL
• 若已有 open CL → 将变更追加到该 CL(可选,按产品设计)
• CL 需包含:
• 修改的文件列表
• 基于当前基线(base branch)的 diff -
基于 CL 触发构建
• CL 创建或更新后:
• 按新的构建触发模型触发构建
• 构建状态与结果绑定到 CL
• 确保:
• 构建不再与“孤立 commit”绑定
• UI 可在 CL 维度展示构建状态
[代码标准]
- 所有 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 genedna@gmail.com
- Tianxing Ye yetianxing2014@gmail.com
[备注]
- 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务 和 r2cn 开源实习计划 - 学生注册与审核