Skip to content

Commit 2a0d736

Browse files
committed
chore: 增加RFC贡献流程
1 parent 9e67d1e commit 2a0d736

File tree

7 files changed

+206
-9
lines changed

7 files changed

+206
-9
lines changed

.github/ISSUE_TEMPLATE/bug-report.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
name: Bug Report
1+
name: 错误报告 | Bug Report
22
description: 提交错误报告来帮助我们改进 | Create a report to help us improve
33
title: "[Bug/Help] auth: User does not exist when I login"
4-
labels: []
4+
labels: ["bug"]
55
body:
66
- type: markdown
77
attributes:

.github/ISSUE_TEMPLATE/feature-request.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
name: Feature Request
1+
name: 功能请求 | Feature Request
22
description: 为OpenSCOW项目提出一个增强或新功能建议 | Suggest an enhancement or new feature for the OpenSCOW project
33
title: "[Feature/Enhancement] mis: Add a feature for management of cluster resource partition"
4-
labels: []
4+
labels: ["feature-request"]
55
body:
66
- type: markdown
77
attributes:

.github/ISSUE_TEMPLATE/rfc.yaml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: RFC
2+
description: 为OpenSCOW提出一个新的RFC | Raise a RFC
3+
title: "[RFC] mis: Add a feature for management of cluster resource partition"
4+
labels: ["rfc"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
感谢您花时间填写此RFC表单!
10+
Thanks for taking the time to fill out this RFC!
11+
12+
若您不熟悉RFC流程,请阅读文档[贡献指南](https://pkuhpc.github.io/OpenSCOW/docs/contribution)。
13+
If you are not familiar with RFC, please read [Contribution guide](https://pkuhpc.github.io/OpenSCOW/docs/contribution).
14+
15+
请为您的issue命名一个好的标题,尽量在标题中注明您的issue相关的模块名称并对功能做简要描述。像这样:
16+
- `[RFC] portal: 交互式应用列表增加排序功能`
17+
Please try to give your issue a good title. Try using the app module name related to your issue in the title and a brief description of the feature. Like this:
18+
- `[RFC] portal: Adds sorting to interactive app list`
19+
20+
在填写表单的时候请牢记:
21+
Please keep in mind when filling out the form:
22+
23+
一个好的RFC应可以直接对应到实现代码。任何对项目有足够了解的开发者应可以仅根据RFC做出实现。请尽量避免模糊或者有歧义的语言。
24+
A good RFC should directly correspond to the implementation code.
25+
Any developer who is sufficiently familiar with the project should be able to implement it based on the RFC alone.
26+
Please avoid vague or ambiguous language as much as possible.
27+
28+
- type: textarea
29+
attributes:
30+
label: 简介 | Abstract
31+
description: |
32+
尽可能简短地介绍此功能。
33+
Provide a brief description of this feature.
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
attributes:
39+
label: 详细介绍 | Detailed Description
40+
description: |
41+
尽可能详细地介绍此功能。
42+
Provide a detailed description of this feature.
43+
validations:
44+
required: true
45+
46+
- type: textarea
47+
attributes:
48+
label: UI设计 | UI Design
49+
description: |
50+
如果此新功能需要涉及到UI,请简单设计新的UI,将效果图复制到此处并进行简单介绍。
51+
If this new feature involves UI, please briefly design the new UI, paste the mockup here and provide a brief introduction.
52+
validations:
53+
required: false
54+
55+
- type: textarea
56+
attributes:
57+
label: 对数据库的修改 | Changes to database schemas.
58+
description: |
59+
如果此RFC需要修改数据库结构,请详细描述对数据库结构的修改(具体到列层面),以及如何确保和之前版本的数据库的兼容性。
60+
If this RFC requires changes to the database schema, describe the changes in detail (down to the column level) and how to ensure compatibility with previous versions of the database.
61+
validations:
62+
required: false
63+
64+
- type: textarea
65+
attributes:
66+
label: 对API的修改 | Changes to API
67+
description: |
68+
如果此RFC需要描述此功能对API的修改(包括SCOW API以及调度器API),请详细描述将会进行的修改,以及如何确保和之前版本的兼容性。
69+
If this RFC requires describing changes to the API (including SCOW API and scheduler API), describe the changes in detail and how to ensure compatibility with previous versions.
70+
validations:
71+
required: false
72+
73+
- type: checkboxes
74+
attributes:
75+
label: 您是否有兴趣实现此功能? | Are you interested to implement it?
76+
description: |
77+
您是否有兴趣实现此功能?
78+
Are you interested to implement it?
79+
options:
80+
- label: "是 | Yes"
81+
- label: "否 | No"
82+
validations:
83+
required: false

docs/docs/contribution/dev.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,10 @@ pnpm devenv:stop
167167

168168
## 容器构建说明
169169

170-
- 每个子系统的Dockerfile都应该放在dockerfiles目录下
171-
- 每个Dockerfile的context都应该是项目根目录,记得复制proto目录和依赖的本地库
172-
- 所有根据proto生成的文件都应该被gitignore和dockerignore,在容器中构建时需要现场生成
173-
- 根目录的`docker-compose.yml`应该只用于容器构建
170+
- SCOW的所有组件均打包于同一个镜像中,以方便离线部署
171+
- 项目的`Dockerfile`存放于`docker`目录下,`Dockerfile.scow`用于SCOW本身,`Dockerfile.docs`为文档镜像
172+
- 所有构建过程中可以自动生成的文件均应该被`.gitignore`,并在容器构建过程中生成
173+
174174

175175
## 代码风格检查
176176

docs/docs/contribution/index.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,27 @@ title: 贡献指南
77

88
感谢您对参与OpenSCOW项目开发的兴趣!我们欢迎对项目有兴趣的参与者一起参与项目开发。
99

10-
相关资料:
10+
下图为为OpenSCOW贡献的流程图:
11+
12+
![贡献流程](process.png)
13+
14+
## 开源协议
15+
16+
OpenSCOW在[木兰宽松许可证,第2版 (MulanPSL-2.0)](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwir0N_4hPuIAxUinK8BHT7XBfIQFnoECBQQAQ&url=https%3A%2F%2Fspdx.org%2Flicenses%2FMulanPSL-2.0.html&usg=AOvVaw2pyvwh8sqZpV0XmHiRXQje&opi=89978449)下开源。您贡献的代码同样会在此协议下开源。
17+
18+
## RFC
19+
20+
OpenSCOW对于较大的修改采用**RFC流程**进行管理。若您想发起的修改较大(由您以及团队进行判断),您的修改须经过RFC流程。RFC流程如下:
21+
22+
1. 创建一个RFC issue,并尽量详细地填写
23+
1. 如果您已经创建了一个功能请求issue,请将此RFC issue与功能请求issue关联起来
24+
2. 团队成员以及社区将会参与讨论,并确定主要的实现者
25+
1. 在讨论中,如果您需要修改RFC,请直接修改issue描述
26+
2. 只有您或者共同参与者可以修改issue描述
27+
3. 当RFC讨论充分并稳定下来后,主要实现者将开始实现此功能,并发起PR
28+
1. 实现的PR应该与RFC issue关联起来
29+
4. 团队成员将会进行审核,并决定是否合并修改
30+
31+
## 相关资料
1132

1233
- [开发](./dev.md): 帮助您搭建本地开发环境,运行代码和测试以及提交代码

docs/docs/contribution/process.dio

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<mxfile host="65bd71144e">
2+
<diagram id="DShlPgOEDRtweNcWsppJ" name="Page-1">
3+
<mxGraphModel dx="1420" dy="1019" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
4+
<root>
5+
<mxCell id="0"/>
6+
<mxCell id="1" parent="0"/>
7+
<mxCell id="6" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="4" target="5">
8+
<mxGeometry relative="1" as="geometry"/>
9+
</mxCell>
10+
<mxCell id="4" value="" style="ellipse;fillColor=strokeColor;" vertex="1" parent="1">
11+
<mxGeometry x="50" y="260" width="30" height="30" as="geometry"/>
12+
</mxCell>
13+
<mxCell id="8" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="5" target="7">
14+
<mxGeometry relative="1" as="geometry"/>
15+
</mxCell>
16+
<mxCell id="5" value="阅读并接受开源协议&lt;br&gt;(您)" style="html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;" vertex="1" parent="1">
17+
<mxGeometry x="120" y="255" width="140" height="40" as="geometry"/>
18+
</mxCell>
19+
<mxCell id="13" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="7" target="12">
20+
<mxGeometry relative="1" as="geometry"/>
21+
</mxCell>
22+
<mxCell id="14" value="否,或者不确定" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="13">
23+
<mxGeometry x="-0.4123" y="1" relative="1" as="geometry">
24+
<mxPoint x="13" y="9" as="offset"/>
25+
</mxGeometry>
26+
</mxCell>
27+
<mxCell id="15" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="7" target="11">
28+
<mxGeometry relative="1" as="geometry"/>
29+
</mxCell>
30+
<mxCell id="16" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="15">
31+
<mxGeometry x="0.2856" y="-1" relative="1" as="geometry">
32+
<mxPoint x="-13" y="9" as="offset"/>
33+
</mxGeometry>
34+
</mxCell>
35+
<mxCell id="7" value="是否只是小修改?" style="rhombus;" vertex="1" parent="1">
36+
<mxGeometry x="288" y="250" width="126" height="50" as="geometry"/>
37+
</mxCell>
38+
<mxCell id="23" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="29" target="22">
39+
<mxGeometry relative="1" as="geometry">
40+
<mxPoint x="820" y="190" as="sourcePoint"/>
41+
</mxGeometry>
42+
</mxCell>
43+
<mxCell id="32" value="接受修改" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="23">
44+
<mxGeometry x="-0.2866" y="1" relative="1" as="geometry">
45+
<mxPoint as="offset"/>
46+
</mxGeometry>
47+
</mxCell>
48+
<mxCell id="28" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="11" target="29">
49+
<mxGeometry relative="1" as="geometry">
50+
<mxPoint x="680" y="190" as="targetPoint"/>
51+
</mxGeometry>
52+
</mxCell>
53+
<mxCell id="11" value="修改代码,创建PR&lt;br&gt;(您)" style="html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;" vertex="1" parent="1">
54+
<mxGeometry x="470" y="170" width="140" height="40" as="geometry"/>
55+
</mxCell>
56+
<mxCell id="19" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="12" target="17">
57+
<mxGeometry relative="1" as="geometry"/>
58+
</mxCell>
59+
<mxCell id="12" value="创建RFC issue&lt;br&gt;(您或者团队)" style="html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;" vertex="1" parent="1">
60+
<mxGeometry x="490" y="310" width="100" height="40" as="geometry"/>
61+
</mxCell>
62+
<mxCell id="33" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="17" target="21">
63+
<mxGeometry relative="1" as="geometry"/>
64+
</mxCell>
65+
<mxCell id="17" value="讨论并确定终稿&lt;br&gt;(所有人)" style="html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;" vertex="1" parent="1">
66+
<mxGeometry x="620" y="310" width="110" height="40" as="geometry"/>
67+
</mxCell>
68+
<mxCell id="24" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="21">
69+
<mxGeometry relative="1" as="geometry">
70+
<mxPoint x="910" y="260" as="targetPoint"/>
71+
</mxGeometry>
72+
</mxCell>
73+
<mxCell id="21" value="根据终稿实现&lt;br&gt;(您或者团队)" style="html=1;align=center;verticalAlign=top;rounded=1;absoluteArcSize=1;arcSize=10;dashed=0;" vertex="1" parent="1">
74+
<mxGeometry x="750" y="310" width="110" height="40" as="geometry"/>
75+
</mxCell>
76+
<mxCell id="22" value="" style="shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;" vertex="1" parent="1">
77+
<mxGeometry x="910" y="240" width="30" height="30" as="geometry"/>
78+
</mxCell>
79+
<mxCell id="30" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="29" target="12">
80+
<mxGeometry relative="1" as="geometry"/>
81+
</mxCell>
82+
<mxCell id="31" value="团队认为修改较大" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="30">
83+
<mxGeometry x="-0.0706" y="-1" relative="1" as="geometry">
84+
<mxPoint y="1" as="offset"/>
85+
</mxGeometry>
86+
</mxCell>
87+
<mxCell id="29" value="审核(团队)" style="rhombus;" vertex="1" parent="1">
88+
<mxGeometry x="700" y="166.25" width="120" height="47.5" as="geometry"/>
89+
</mxCell>
90+
</root>
91+
</mxGraphModel>
92+
</diagram>
93+
</mxfile>

docs/docs/contribution/process.png

35.7 KB
Loading

0 commit comments

Comments
 (0)