[任务] 在merge checker 中实现Code Reviewer 规则
[任务分值] 25 分
[背景描述]
目前系统已经在 Merge Box 中实现了基本的 merge check 检查,包括对 MR(Merge Request)的合并条件进行校验,例如代码冲突检测、commit 检查等。现在要在 Merge Box 中新增 Code Reviewer 规则。该功能能够使 MR 与指定的 Reviewer(代码审查人)进行绑定
[需求描述]
- MR 能关联 Reviewer
- 在创建或编辑 MR 时,支持指定一个或多个 Reviewer。
- MR 详情页中,需要显示已关联的 Reviewer 列表,方便所有参与者确认。
- Reviewer 评论机制优化
- 当 Reviewer 在 MR 中输入评论时,系统应将该评论标记为 Review 类型的 Conversation。注:ConvTypeEnum 中的 Review 类型
- UI 上要对 Review 类型的评论进行区别化展示,区别于普通的讨论(Discussion)。
- Review 类型的评论需要提供 Resolve Conversation 按钮,Reviewer 可以标记该问题是否已被解决。(目前只是标记解决,没有其他用处)
- Reviewer 审批机制
- 在 Merge Box 中,Reviewer 拥有 Approve 按钮,用于明确表态是否同意合并。
- 所有关联的 Reviewer 都点击 Approve 后,Merge Box 中才会显示 Confirm Merge 按钮。(前提是通过其他检查)
- Confirm Merge 按钮 仅对 Reviewer 可见并可操作,用于最终执行 MR 的合并。
[代码标准]
- 所有 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 开源实习计划 - 学生注册与审核
[任务] 在merge checker 中实现Code Reviewer 规则
[任务分值] 25 分
[背景描述]
目前系统已经在 Merge Box 中实现了基本的 merge check 检查,包括对 MR(Merge Request)的合并条件进行校验,例如代码冲突检测、commit 检查等。现在要在 Merge Box 中新增 Code Reviewer 规则。该功能能够使 MR 与指定的 Reviewer(代码审查人)进行绑定
[需求描述]
[代码标准]
Signed-off-by和 使用GPG签名,即提交代码时(使用git commit命令时)至少使用-s -S两个参数,参考 Contributing Guide;GitHub Actions自动化测试,提交 PR 后请关注GitHub Actions结果;[PR 提交地址] 提交到 mega 仓库的
main分支 `` 目录;[开发指导]
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在
#p-meta频道和导师交流。[备注]