Skip to content

[r2cn] 支持编辑文件后自动创建 CL 并触发构建流程 #1872

@benjamin-747

Description

@benjamin-747

[任务] 支持编辑文件后自动创建 CL 并触发构建流程

[任务分值] 35 分

[背景描述]

在当前 Mega / Orion 构建体系中,构建通常依赖已有的 CL(Change List)或显式触发条件。
但在实际使用过程中,存在以下问题:
• 用户在 编辑文件后,系统会 直接生成一个 Git commit
• 该流程:
• 绕过了 CL(Change List) 这一核心抽象
• 与 Mega 现有的代码评审、构建、合并模型不一致

随着构建触发模型逐步从「隐式触发」向「显式、可扩展触发模型」演进,需要将 “文件编辑 → CL → 构建” 串联成一个清晰、可复用的标准流程。

[需求描述]

一、目标
• 恢复并强化 CL 作为变更核心载体 的设计
• 保证编辑、构建、评审、合并流程的一致性
• 为后续构建触发模型、Code Review 功能扩展打下基础

二、功能需求

  1. 编辑文件后不再直接生成 Commit
    • 当用户在 UI / API 中编辑文件并保存时:
    • 禁止直接创建 Git commit
    • 改为进入 CL 流程

  2. 自动或显式新建 CL
    • 编辑文件后:
    • 若当前无 open CL → 自动创建一个新的 CL
    • 若已有 open CL → 将变更追加到该 CL(可选,按产品设计)
    • CL 需包含:
    • 修改的文件列表
    • 基于当前基线(base branch)的 diff

  3. 基于 CL 触发构建
    • CL 创建或更新后:
    • 按新的构建触发模型触发构建
    • 构建状态与结果绑定到 CL
    • 确保:
    • 构建不再与“孤立 commit”绑定
    • UI 可在 CL 维度展示构建状态

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma genedna@gmail.com
  2. Tianxing Ye yetianxing2014@gmail.com

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions