大家好:
我想在这里发起下“关于TC管理SIG和repository申请流程”的讨论。
[背景]
当前申请新sig时需要在sig目录中创建一个新的子目录,并且在sigs.yaml中增加相应项。
而申请新repo时,需要在src-openeuler.yaml, openEuler.yaml以及sigs.yaml增加相应项。
由于新增时习惯性会在yaml文件最底部添加,在变更频繁时冲突非常激烈。
我们注意到有些PR就是因为这个原因,反复修改来解决冲突,体验非常不好。
但,我们也不能简单的对上述文件做拆分,因为gitee提供的机制只能对有限个文件的变化做监控。
如果随意拆分,会导致当前社区自动化流程失灵。
[解决方案建议]
1. 保留repositories/src-openeuler.yaml, repositories/openEuler.yaml以及sig/sigs.yaml这三个文件,但是不再接纳TC团队之外发起的任何提交。
2. 将当前repositories/src-openeuler.yaml的内容按首字母拆分到repositories/src-openeuler/$initial_character/$repo_name.yaml中。首字母不区分大小写。
3. 将当前repositories/openeuler.yaml的内容按首字母拆分到repositories/openeuler/$initial_character/$repo_name.yaml中。首字母不区分大小写。
4. 将当前sig/sigs.yaml的内容,按所属SIG,拆分到sig/$sig_name/repositories.yaml中。
5. 新申请SIG时,只需要需要创建相应的SIG目录,填写OWNER,与 repositories.yaml
6. 新增repo时,需要在repositories中相应目录下创建$repo_name.yaml,并在sig/$sig_name/repositories.yaml中新增对应项。
7. 当这些PR被approve之后,TC运行脚本来整合各个分散的yaml文件,提交一个PR来统一修改前述三个yaml文件。
[遗留问题]
1. 由于SIG对自己目录中有完全修改权,所以SIG可以自行修改目录中的repositories.yaml。但是这个修改不会生效。TC在整合各个sig的yaml时,需要做额外的检查。
请大家对这个方案建议发表意见。我在随后两天会整合大家意见,发出TC的机器人脚本。
谢谢
Poincaré Laboratory
Huawei Technologies Co.,Ltd.