From 4a629247341c3fd81180194ece0e8ba92f1d6218 Mon Sep 17 00:00:00 2001 From: huangsox Date: Fri, 30 Sep 2022 03:21:25 +0000 Subject: [PATCH] =?UTF-8?q?!1159=20=E6=8F=90=E4=BA=A4=E7=A4=BE=E5=8C=BA?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BB=93=E7=AE=A1=E7=90=86=E8=A7=84=E5=AE=9A?= =?UTF-8?q?=20*=20update=20repository=5Fmanagement=5Fregulations.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository_management_regulations.md | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 sig/sig-QA/repository_management_regulations.md diff --git a/sig/sig-QA/repository_management_regulations.md b/sig/sig-QA/repository_management_regulations.md new file mode 100644 index 0000000..29c0c64 --- /dev/null +++ b/sig/sig-QA/repository_management_regulations.md @@ -0,0 +1,93 @@ +# OpenHarmony社区代码仓管理规定 + + +| **文件名称** | **版本** | **拟制/修订日期** | **拟 制** | **批准** | +| -------------------- | ------ | ----------- | --------- | ------ | +| OpenHarmony社区代码仓管理规定 | V1.0 | 2022-6-30 | QA Sig | PMC | + +## 1 目的 + +为规范OpenHarmony社区代码仓操作要求,指导社区角色进行规范化操作,确保社区的代码稳定且有质量的发展,达成可信开源社区要求,制定OpenHarmony社区代码仓管理规定。 + +## 2 适用范围 + +- **社区角色:包括Contributor、Committer、SIG Leader、PMC,角色定义见:** + + ,成员名单可通过以下查询。 + +| **社区角色** | 描述 | **成员名单** | +| ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| PMC | 项目管理委员会(PMC)成员,拥有代码库写权限、OpenHarmony 新版本发布、Roadmap发布、新PMC/Committer等社区事务的投票权、以及新的 PMC 成员和 Committer 提名权。PMC负责OpenHarmony 社区的管理工作,包括开源OpenHarmony 社区版本规划、竞争力规划、特性开发代码维护、资料开发、补丁规划等;组织PMC委员的选举和退出,负责Committer的任命和退出;负责OpenHarmony 社区SIG的申请准入、SIG孵化项目指导、SIG毕业项目准入等SIG生命周期管理等。 | https://gitee.com/openharmony/community/blob/master/zh/pmc.md | +| Committer | Committer拥有SIG子领域的代码仓写权限。Committer 负责SIG领域软件模块设计与评审,负责代码审核及维护,处理OpenHarmony社区的issue、邮件列表问题,辅导Contributors快速理解SIG领域架构设计并提升代码开发技能。 | https://gitee.com/openharmony/community/blob/master/zh/committer.md | +| Contributor | 有一定代码编程经验的开发者。Contributors以参与OpenHarmony 社区代码贡献、文档贡献、技术方案讨论及设计、解答用户问题、发表技术文章及视频课程、组织策划开源OpenHarmony 社区活动等形式参与OpenHarmony 社区。 | - | +| Sig Leader | SIG Leader负责特定SIG的运营及维护。SIG Leader负责定义特定SIG的工作范围及业务目标,并负责对应SIG的运营及维护;吸纳并发展Committer参与对应SIG的项目孵化、文档完善及社区推广;定期在PMC项目管理委员会汇报SIG孵化项目及SIG运营进展,并基于PMC的指导建议完成相关改进。 | https://gitee.com/openharmony/community/blob/master/sig/sigs_subsystem_list.md | + +- **OpenHarmony Gitee 企业账号IT系统角色** + + +| **系统角色** | **角色定义** | **成员名单** | +| -------- | ---------------------------------------- | --------------------------- | +| IT 系统管理员 | OpenHarmony的Gitee系统管理员,负责配置IT 系统操作员 | 基础设施工作组 组长 1名 基金会派驻代表 1 名 | +| IT 系统操作员 | OpenHarmony的Gitee系统操作员,负责根据业务决策进行IT系统操作实施 | 由基础设施工作组 组长任命 | + +*注:为确保IT管理与IT实施人员分离,同一人不能同时担任IT系统管理员和IT系统操作员。* + +## 3 代码仓说明 + +OpenHarmony代码仓包含:OpenHarmony主仓、OpenHarmony-SIG仓、 OpenHarmony-TPC仓;各仓定义如下: + +- OpenHarmony主仓:指 https://gitee.com/openharmony 下的所有代码仓库,存放满足成熟度要求的OpenHarmony项目代码。 + +- OpenHarmony-SIG仓:指 https://gitee.com/openharmony-sig 下的所有代码仓库,存放OpenHarmony SIG孵化子项目的代码;在孵化成功后,会根据代码类别进入到OpenHarmony主仓或者是OpenHarmony-TPC仓。 + +- OpenHarmony-TPC仓:指 https://gitee.com/openharmony-tpc 下的所有代码仓库,存放满足成熟度要求的OpenHarmony三方库子项目代码。 + + + +## 4 代码仓的管理要求 + +为规范社区代码仓操作,降低风险,任何对代码仓库的操作都要求遵循“先进行业务决策,再进行IT实施”的原则进行,业务决策与IT实施分离;禁止任何未经过决策的IT实施。 + +下表规定了针对代码仓不同场景下的决策组织/角色及实施组织/角色 + +- 所有代码仓操作的决策组织为PMC + +- 部分操作场景已由PMC授权到对应的组织/角色 + +- 如存在表中未覆盖的代码仓操作场景,缺省决策组织为PMC + +- 所有代码仓操作的IT实施组织为IT系统操作员 + + +| | 操作类型 | 操作 | 描述 | 决策组织/角色 | 被授权决策组织/角色(如有授权) | 实施组织/角色 | +| ------ | ------- | ---------- | ---------------------------------------- | ------- | ---------------- | ------- | +| 代码仓库操作 | 新建 | 新建 | 创建代码仓,从无到有 | PMC | 架构SIG | IT系统操作员 | +| 代码仓库操作 | 迁移 | 迁移 | sig孵化、代码仓归档涉及的迁移 | PMC | 架构SIG | IT系统操作员 | +| 代码仓库操作 | 废弃 | 废弃 | 因为业务变化,仓库不再使用, 修改状态为暂停/停止 | PMC | 架构SIG | IT系统操作员 | +| 代码仓库操作 | 仓库属性配置 | 修改仓库描述 | | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 仓库属性配置 | 设置安全风险标识 | 设置后允许提交安全issue, 仅允许企业成员+仓库成员查看 | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 仓库属性配置 | 是否允许在线编辑 | | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 仓库属性配置 | 设置禁止强制push | 保护库上代码不被误操作覆盖导致丢失历史记录 | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 仓库属性配置 | 分支保护规则设置 | 防止分支被误操作删除/强制推送 | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 仓库属性配置 | 推送规则设置 | 限制单个文件大小 | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 仓库人员管理 | 代码审查设置 | 给committer添加审查权限, 给门禁账号添加测试权限 | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 仓库人员管理 | 仓库管理员维护 | 将committer添加到仓库,设置为管理员角色; 非committer从仓库删除 | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 版本分支管理 | 新建分支/标签 | 按PMC版本规划从指定节点新建分支,从指定分支新建标签 | PMC | Release SIG | IT系统操作员 | +| 代码仓库操作 | 例外合入操作类 | 三方软件版本升级 | 三方软件的版本升级往往携带上游社区提交,因而导致DCO检查失败,在确认合入PR失败仅由DCO失败引起并且不存在法务合规问题的情况下,需要例外合入PR | PMC | 不授权 | IT系统操作员 | +| 代码仓库操作 | 例外合入操作类 | 紧急情况回退PR | 由于合入PR导致的编译问题,经过PR提交人/Committer+IT系统操作员共同确认后, 需要例外回退PR | PMC | Committer | IT系统操作员 | +| 代码仓库操作 | 例外合入操作类 | 其它情况 | 其它紧急情况的例外合入 | PMC | 不授权 | IT系统操作员 | + + + +## 5 审视 + +- 每个季度由IT 系统操作员输出 代码仓操作 及 人员的权限配置 的变更报告,送递 IT系统管理员和 QA Sig Leader。 + +- IT系统管理员 和 QA Sig Leader 负责审查变更报告,确保及时发现异常或违规操作,在PMC例会上进行通报并制定改进措施。 + + +## 6 变更记录 + +本规定由QA Sig制定并在2022年6月30日 PMC会议上汇报通过。 + +规定的变更需由QA Sig制定,并报PMC例会批准通过。 \ No newline at end of file -- GitLab