大家好:

 

 我想在这里发起下“关于TC管理SIGrepository申请流程”的讨论。

 

[背景]

 

 当前申请新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.       当这些PRapprove之后,TC运行脚本来整合各个分散的yaml文件,提交一个PR来统一修改前述三个yaml文件。

 

 

[遗留问题]

 

1.       由于SIG对自己目录中有完全修改权,所以SIG可以自行修改目录中的repositories.yaml。但是这个修改不会生效。TC在整合各个sigyaml时,需要做额外的检查。

 

请大家对这个方案建议发表意见。我在随后两天会整合大家意见,发出TC的机器人脚本。

 

谢谢

 

Poincaré Laboratory

Huawei Technologies Co.,Ltd.