Skip to content

[r2cn] 在merge checker 中实现Code Reviewer 规则 #1396

Description

@benjamin-747

[任务] 在merge checker 中实现Code Reviewer 规则

[任务分值] 25 分

[背景描述]

目前系统已经在 Merge Box 中实现了基本的 merge check 检查,包括对 MR(Merge Request)的合并条件进行校验,例如代码冲突检测、commit 检查等。现在要在 Merge Box 中新增 Code Reviewer 规则。该功能能够使 MR 与指定的 Reviewer(代码审查人)进行绑定

[需求描述]

  1. MR 能关联 Reviewer
  • 在创建或编辑 MR 时,支持指定一个或多个 Reviewer。
  • MR 详情页中,需要显示已关联的 Reviewer 列表,方便所有参与者确认。
  1. Reviewer 评论机制优化
  • 当 Reviewer 在 MR 中输入评论时,系统应将该评论标记为 Review 类型的 Conversation。注:ConvTypeEnum 中的 Review 类型
  • UI 上要对 Review 类型的评论进行区别化展示,区别于普通的讨论(Discussion)。
  • Review 类型的评论需要提供 Resolve Conversation 按钮,Reviewer 可以标记该问题是否已被解决。(目前只是标记解决,没有其他用处)
  1. Reviewer 审批机制
  • 在 Merge Box 中,Reviewer 拥有 Approve 按钮,用于明确表态是否同意合并。
  • 所有关联的 Reviewer 都点击 Approve 后,Merge Box 中才会显示 Confirm Merge 按钮。(前提是通过其他检查)
  • Confirm Merge 按钮 仅对 Reviewer 可见并可操作,用于最终执行 MR 的合并。

[代码标准]

  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

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions