news 2026/5/9 11:32:32

CANN社区SIG组权限管理方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN社区SIG组权限管理方案

CANN社区SIG组权限管理方案

【免费下载链接】community本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息项目地址: https://gitcode.com/cann/community

介绍

CANN社区SIG成员和仓库管理需要规范管理。

CANN社区基于community代码仓库,实现CANN社区的项目、SIG、仓库、成员及其权限的统一管理

关键角色配置

角色字段权限范围
审批者(Committer)committers代码合并权限(可覆盖到文件级)
分支守护者branch_keeper特定分支版本管理(打keeper_approved标签)

sig-info.yaml文件指导说明

sig-info.yaml 文件格式

每个SIG在community仓库下CANN/sigs目录下都可以配置1个sig-info.yaml,sig-info.yaml 文件为yaml格式承载,主要包含如下一层基本元素: | 字段 | 类型 |层级| 说明 | |--|--|--|--| | name | 字符串 |一层| SIG组名称 | | description | 字符串 |一层| SIG组描述信息 | | mailing_list | 字符串 |一层| SIG组讨论邮件列表地址 | | meeting_whiteboard_url | 字符串 |一层| SIG例会纪要URL | | committers| 列表 | 一层|SIG组对应的committer名单 | | repositories| 列表 |一层| SIG组所管辖的代码仓库信息 |

其中 repositories 字段会说明SIG组所管理的组的信息,repositories列表中的每一条记录可包含如下元素: | 字段 | 类型 |层级| 说明 | |--|--|--|--| | repo| 列表|二层 | 仓库组,可以是一个仓库,也可以是一组仓库 ,可选| | committers| 列表 |二层 | 仓库组对应的committer名单 ,可选| | contributors | 列表 |二层 | 仓库组对应的contributor名单 ,可选| | branch_configs | 列表 |二层| 分支列表, 可选 | | entry_configs | 列表 |二层 | 仓库下的目录或文件配置 ,可选|

上述branch_configs 列表中的每一条记录可包含如下元素: | 字段 | 类型 | 层级|说明 | |--|--|--|--| | branch | 列表 |三层| 分支列表, 可选 | | committers| 列表 |三层| 仓库对应分支下的committer名单, 可选 | | branch_keeper| 列表 |三层| 仓库对应分支下的branch_keeper名单, 可选 | | entry_configs | 列表 |三层 | 仓库对应分支下的目录或文件配置 ,可选|

上述entry_configs 列表中的每一条记录可包含如下元素: | 字段 | 类型 | 层级|说明 | |--|--|--|--| | path | 列表 |-| 目录、文件列表或者通配符路径, 可选 | | committers| 列表 |-| 目录或者文件列表下的committer名单, 可选 |

上述committers、branch_keeper、contributors的每一条个人信息记录包含如下元素: | 字段 | 类型 | 层级|说明 | |--|--|--|--| | gitcode_id | 字符串 |-| gitcode ID, 必填 | | name | 字符串 |-| 姓名(或者网名), 可选 | | email| 字符串 |-| 个人邮箱地址, 可选 |

注意:maintainer自动拥有SIG层的committer权限,无需重复配置。

下面介绍在以下几种场景sig-info.yaml应该怎么配置

1.只有sig组的committers,sig组下各仓库不单独设置committers,branch_keeper配置是可选的
name: ops-basic #SIG组名称 description: This is a sample sig. #SIG组描述信息 mailing_list: ops-basic@cann.osinfra.cn #SIG组讨论邮件列表地址 meeting_whiteboard_url: https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-basic #SIG例会纪要URL committers: #SIG组所有committer名单 (ccc和ddd拥有ops-basic sig组下所有仓库的committer权限) - gitcode_id: ccc - gitcode_id: ddd repositories: #repositories 字段会说明SIG组所管理的仓库组的信息 - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-AAA branch_configs: - branch: - master branch_keeper: #branch_keeper指仓库某个分支的版本经理角色,此角色有权限对PR评论/merge,打上keeper_approved标签 - gitcode_id: eee - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-BBB branch_configs: - branch: - master branch_keeper: #branch_keeper指仓库某个分支的版本经理角色,此角色有权限对PR评论/merge,打上keeper_approved标签 - gitcode_id: fff
2.针对sig组各仓库单独设置committers
name: ops-basic #SIG组名称 description: This is a sample sig. #SIG组描述信息 mailing_list: ops-basic@cann.osinfra.cn #SIG组讨论邮件列表地址 meeting_whiteboard_url: https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-basic #SIG例会纪要URL committers: #SIG组所有committer名单 (ccc和ddd拥有ops-basic sig组下所有仓库的committer权限) - gitcode_id: ccc - gitcode_id: ddd repositories: #repositories 字段会说明SIG组所管理的仓库组的信息 - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-AAA - CANN/ops-basic-BBB committers: #仓库组对应的committer名单 ,可选字段 (ggg和hhh拥有ops-basic-AAA、ops-basic-BBB仓库的committer权限) - gitcode_id: ggg - gitcode_id: hhh - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-CCC - CANN/ops-basic-DDD committers: #仓库组对应的committer名单 ,可选字段 (kkk和lll拥有ops-basic-CCC、ops-basic-DDD仓库的committer权限) - gitcode_id: kkk - gitcode_id: lll
3.针对sig组各仓库单独设置committers,并且针对仓库所有分支设置某个目录或者文件的committers
name: ops-basic #SIG组名称 description: This is a sample sig. #SIG组描述信息 mailing_list: ops-basic@cann.osinfra.cn #SIG组讨论邮件列表地址 meeting_whiteboard_url: https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-basic #SIG例会纪要URL committers: #SIG组所有committer名单 - gitcode_id: ccc - gitcode_id: ddd repositories: #repositories 字段会说明SIG组所管理的仓库组的信息 - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-AAA - CANN/ops-basic-BBB committers: #仓库组对应的committer名单 ,可选字段 (ggg和hhh拥有ops-basic-AAA、ops-basic-BBB仓库下除了cmake/figures目录和siginfo.yaml文件的committer权限) - gitcode_id: ggg - gitcode_id: hhh entry_configs: #(repo)entry_configs字段会说明仓库组所管理的entry组的信息 - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - cmake/figures - siginfo.yaml - "*/*/op_graph/*_proto.h" #此处只支持"*"通配符,并且path是通配符路径时必须使用双引号,否则会导致解析sig-info失败 - "*/*/op_api/*.h" committers: #entry组对应的committer名单 ,可选字段 (yyy和zzz拥有ops-basic-AAA、ops-basic-BBB仓库下cmake/figures目录、siginfo.yaml文件、*/*/op_graph/*_proto.h和*/*/op_api/*.h的committer权限) - gitcode_id: yyy - gitcode_id: zzz - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - debug/validate - setup.py committers: #entry组对应的committer名单 ,可选字段 (uio和asd拥有ops-basic-AAA、ops-basic-BBB仓库下debug/validate目录和setup.py文件的committer权限) - gitcode_id: uio - gitcode_id: asd
4.针对sig组各仓库单独设置committers,并且针对仓库某些分支设置committers
name: ops-basic #SIG组名称 description: This is a sample sig. #SIG组描述信息 mailing_list: ops-basic@cann.osinfra.cn #SIG组讨论邮件列表地址 meeting_whiteboard_url: https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-basic #SIG例会纪要URL committers: #SIG组所有committer名单 - gitcode_id: ccc - gitcode_id: ddd repositories: #repositories 字段会说明SIG组所管理的仓库组的信息 - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-AAA - CANN/ops-basic-BBB committers: #仓库组对应的committer名单 ,可选字段 (ggg和hhh拥有ops-basic-AAA、ops-basic-BBB仓库的committer权限) - gitcode_id: ggg - gitcode_id: hhh branch_configs: #branch_configs 字段会说明仓库组所管理的分支组的信息 - branch: #分支组,可以是一个分支,也可以是一组分支,可选字段 - master - br_release committers: #分支组对应的committer名单 ,可选字段 (kkk和lll拥有ops-basic-AAA、ops-basic-BBB仓库master、br_release分支的committer权限) - gitcode_id: kkk - gitcode_id: lll branch_keeper: #分支组对应的branch_keeper名单 ,可选字段 - gitcode_id: ooo - branch: #分支组,可以是一个分支,也可以是一组分支,可选字段 - develop - feature committers: #分支组对应的committer名单 ,可选字段 (zzz和xxx拥有ops-basic-AAA、ops-basic-BBB仓库develop、feature分支的committer权限) - gitcode_id: zzz - gitcode_id: xxx branch_keeper: #分支组对应的branch_keeper名单 ,可选字段 - gitcode_id: qqq
5.针对sig组各仓库单独设置committers,仓库某些分支设置committers,并且在这些分支下设置某个目录或者文件的committers
name: ops-basic #SIG组名称 description: This is a sample sig. #SIG组描述信息 mailing_list: ops-basic@cann.osinfra.cn #SIG组讨论邮件列表地址 meeting_whiteboard_url: https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-basic #SIG例会纪要URL committers: #SIG组所有committer名单 - gitcode_id: ccc - gitcode_id: ddd repositories: #repositories 字段会说明SIG组所管理的仓库组的信息 - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-AAA - CANN/ops-basic-BBB committers: #仓库组对应的committer名单 ,可选字段 - gitcode_id: ggg - gitcode_id: hhh branch_configs: #branch_configs 字段会说明仓库组所管理的分支组的信息 - branch: #分支组,可以是一个分支,也可以是一组分支,可选字段 - master - br_release committers: #分支组对应的committer名单 ,可选字段 - gitcode_id: kkk - gitcode_id: LLL branch_keeper: #分支组对应的branch_keeper名单 ,可选字段 - gitcode_id: ooo entry_configs: #(branch)entry_configs字段会说明分支组所管理的entry组的信息 - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - cmake/figures - siginfo.yaml committers: #entry组对应的committer名单 ,可选字段 (qqq和rrr拥有ops-basic-AAA、ops-basic-BBB仓库master和br_release分支下cmake/figures目录和siginfo.yaml文件的committer权限) - gitcode_id: qqq - gitcode_id: rrr - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - debug/validate - setup.py committers: #entry组对应的committer名单 ,可选字段 (uuu和vvv拥有ops-basic-AAA、ops-basic-BBB仓库master和br_release分支下cmake/figures目录和siginfo.yaml文件的committer权限) - gitcode_id: uuu - gitcode_id: vvv - branch: #分支组,可以是一个分支,也可以是一组分支,可选字段 - develop - feature committers: #分支组对应的committer名单 ,可选字段 - gitcode_id: kkk - gitcode_id: LLL branch_keeper: #分支组对应的branch_keeper名单 ,可选字段 - gitcode_id: ooo entry_configs: #(branch)entry_configs字段会说明分支组所管理的entry组的信息 - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - cmake/figures - siginfo.yaml committers: #entry组对应的committer名单 ,可选字段 (qqq和rrr拥有ops-basic-AAA、ops-basic-BBB仓库develop和feature分支下cmake/figures目录和siginfo.yaml文件的committer权限) - gitcode_id: qqq - gitcode_id: rrr - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - debug/validate - setup.py committers: #entry组对应的committer名单 ,可选字段 (uuu和vvv拥有ops-basic-AAA、ops-basic-BBB仓库develop和feature分支下cmake/figures目录和siginfo.yaml文件的committer权限) - gitcode_id: uuu - gitcode_id: vvv

sig-info.yaml 完整样例:

name: ops-basic #SIG组名称 description: This is a sample sig. #SIG组描述信息 mailing_list: ops-basic@cann.osinfra.cn #SIG组讨论邮件列表地址 meeting_whiteboard_url: https://etherpad-cann.meeting.osinfra.cn/p/sig-ops-basic #SIG例会纪要URL committers: #SIG组所有committer名单 - gitcode_id: ccc - gitcode_id: ddd repositories: #repositories 字段会说明SIG组所管理的仓库组的信息 - repo: #仓库组,可以是一个仓库,也可以是一组仓库 ,可选字段 - CANN/ops-basic-AAA - CANN/ops-basic-BBB committers: #仓库组对应的committer名单 ,可选字段 - gitcode_id: ggg - gitcode_id: hhh entry_configs: #(repo)entry_configs字段会说明仓库组所管理的entry组的信息 - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - cmake/figures - cmake/utils committers: #entry组对应的committer名单 ,可选字段 - gitcode_id: yyy - gitcode_id: zzz - path: - siginfo.yaml - cmake/utils/setup.py committers: - gitcode_id: uio - gitcode_id: asd branch_configs: #branch_configs 字段会说明仓库组所管理的分支组的信息 - branch: #分支组,可以是一个分支,也可以是一组分支,可选字段 - master - br_release committers: #分支组对应的committer名单 ,可选字段 - gitcode_id: kkk - gitcode_id: LLL branch_keeper: #分支组对应的branch_keeper名单 ,可选字段 - gitcode_id: ooo - gitcode_id: ppp entry_configs: #(branch)entry_configs字段会说明分支组所管理的entry组的信息 - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - cmake/figures - cmake/utils committers: #entry组对应的committer名单 ,可选字段 - gitcode_id: qqq - gitcode_id: rrr - path: - siginfo.yaml - cmake/utils/setup.py committers: - gitcode_id: uuu - gitcode_id: vvv - branch: #分支组,可以是一个分支,也可以是一组分支,可选字段 - develop - feature committers: #分支组对应的committer名单 ,可选字段 - gitcode_id: kkk - gitcode_id: LLL branch_keeper: #分支组对应的branch_keeper名单 ,可选字段 - gitcode_id: ooo entry_configs: #(branch)entry_configs字段会说明分支组所管理的entry组的信息 - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - cmake/figures - siginfo.yaml committers: #entry组对应的committer名单 ,可选字段 (qqq和rrr拥有ops-basic-AAA、ops-basic-BBB仓库develop和feature分支下cmake/figures目录和siginfo.yaml文件的committer权限) - gitcode_id: qqq - gitcode_id: rrr - path: #entry组,可以是一个目录或者完整的文件路径或者某类文件的通配符路径,也可以是一组目录或者完整的文件路径或者某类文件的通配符路径,可选字段 - debug/validate - setup.py committers: #entry组对应的committer名单 ,可选字段 (uuu和vvv拥有ops-basic-AAA、ops-basic-BBB仓库develop和feature分支下cmake/figures目录和siginfo.yaml文件的committer权限) - gitcode_id: uuu - gitcode_id: vvv

【免费下载链接】community本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息项目地址: https://gitcode.com/cann/community

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 11:30:35

瑞士勒索软件与钓鱼攻击态势分析及协同防御体系研究

摘要依据瑞士联邦网络安全办公室(OFCS)2026 年 5 月发布的 2025 年下半年网络威胁报告,瑞士境内网络安全事件维持高位,共收到自愿上报网络事件 29006 起、强制上报 145 起;其中勒索软件攻击 79 起,同比 202…

作者头像 李华
网站建设 2026/5/9 11:29:42

CANN ops-nn ELU梯度算子

EluGrad 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn 📄 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/A…

作者头像 李华
网站建设 2026/5/9 11:27:42

Python 爬虫反爬突破:人机验证机制底层破解

前言 人机验证是当前互联网站点最高频、最硬核的反爬屏障之一,也是爬虫工程落地中最难绕过的环节。传统验证码、滑块验证、点选文字、旋转拼图、行为轨迹校验、无感设备风控等各类人机验证体系,核心目的都是区分真实自然人操作与自动化爬虫程序&#xf…

作者头像 李华
网站建设 2026/5/9 11:24:37

游戏串流新革命:Sunshine让你用一台PC玩转所有设备

游戏串流新革命:Sunshine让你用一台PC玩转所有设备 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾经梦想过在客厅电视上畅玩书房电脑里的3A大作?或…

作者头像 李华
网站建设 2026/5/9 11:22:55

Hermes Agent工具接入Taotoken聚合平台的具体配置步骤详解

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent工具接入Taotoken聚合平台的具体配置步骤详解 本教程将逐步演示如何将 Hermes Agent 工具的后端切换至 Taotoken 平台…

作者头像 李华
网站建设 2026/5/9 11:22:49

5分钟快速上手:Windows离线实时字幕工具TMSpeech完全指南

5分钟快速上手:Windows离线实时字幕工具TMSpeech完全指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 还在为会议记录而烦恼吗?是否经常因为网络不稳定而无法使用云语音识别服务&#xff…

作者头像 李华