熟悉 RFC(评论请求)流程和标准后,您可能需要创建提案,以供 Fuchsia Eng Council 审核。
如需创建 RFC,您需要创建至少包含以下三个文件的 Gerrit 更改:
创建元数据
RFC 的元数据定义了许多用于填充 RFC 概览的 RFC 信息的值。
为了标识您的 RFC,您需要修改 docs/contribute/governance/rfcs/_rfcs.yaml 以包含有关您的 RFC 的信息。
对于 RFC,您需要提供以下信息:
参考文档
RFC 元数据 | |
---|---|
name | 必需
定义 RFC 名称。首次创建 RFC 时,您应使用 |
title | 必需
为您的 RFC 定义标题。此标题必须简明扼要,并使用几个字词解释您的 RFC。 |
short_description | 必需
为您的 RFC 定义简短说明。说明必须简短,不应超过几句话。 |
authors | 必需
创建 RFC 的作者列表。
|
file | 必需
定义 RFC 的 Markdown 文件的文件名。其中应包含 RFC
在收到 RFC 名称之前,请使用 |
area | 必需
定义您的 RFC 影响的区域列表。
有效区域 有效区域
|
issue | 必需
在 https://fxbug.dev/ 上定义用于跟踪您的 RFC 的问题列表。
如果您没有“问题”编号,可以将此值留空,即
|
gerrit_change_id | 必需
包含您的 rfc 的 gerrit 更改的 |
submitted | 必需
以 |
status | 必需
定义 RFC 的状态。当您首次提交 RFC 时,此值应为 |
reviewers | 获批或遭拒后必须提供
定义来自 Gerrit 更改的 RFC 的审核者。 |
consulted | 获批或遭拒后必须提供
已就此 RFC 咨询了相关负责人,但无需对其执行 +1 推荐。 |
reviewed | 必需
指定您收到 Fuchsia Eng Council 的决定的日期,即表明您的 RFC 是被接受还是拒绝。 |
示例
- name: 'RFC-NNNN' title: 'zx_channel_iovec_t support for zx_channel_write and zx_channel_call' short_description: 'This RFC introduces a new mode to zx_channel_write and zx_channel_call that copies input data from multiple memory regions rather than from a single contiguous buffer.' authors: ['bprosnitz@google.com'] file: '0010_channel_iovec.md' area: ['Zircon'] issue: ['60623'] gerrit_change_id: ['433621'] status: '' reviewers: [] submitted: '2020-09-25' reviewed: ''
为 RFC 创建元数据后,您就可以使用 RFC 信息编写 Markdown 文件。
创建 Markdown 文件
填写 RFC 元数据和 RFC 的 name
后,您可以为 RFC 创建 Markdown 文件。
如需创建 Markdown 文件,请执行以下操作:
根据 RFC 模板创建新的 Markdown 文件。必须根据您添加到元数据文件的
file
值命名此文件。使用文本编辑器修改文件时,您需要修改模板的第一行,该模板包含的
rfcid
变量为 RFC 的name
。例如,如果您的name
为"RFC-NNNN"
,则第一行如下所示:{% set rfcid = "RFC-NNNN" %}
填写 RFC 摘要标题后面的不同部分。
填写 Markdown 文件后,您就可以在目录中为 RFC 创建一个条目了。
创建 _toc.yaml 条目
为 RFC 创建元数据并创建 Markdown 文件后,您就可以在 TOC(目录)中列出 RFC。
如需添加 TOC 条目,请执行以下操作:
- 修改 //docs/contribute/governance/rfcs/_toc.yaml 文件。
- 按以下格式在最后一个条目下方添加您的 RFC 条目。
参考文档
- title: "name: title" path: /docs/contribute/governance/rfcs/file.md
示例
- title: "RFC-0001: RFC Process" path: /docs/contribute/governance/rfcs/0001_rfc_process.md
其中,name
、title
和 file
是您在元数据文件中定义的值。
创建 TOC 条目后,您就可以提交 RFC 以供审核了。
将更改送审
修改元数据文件、创建 Markdown 文件并添加 TOC 条目后,您就可以创建更改以供审核了。
变更的提交消息的第一行必须为 [rfc]
,后跟 RFC 名称。提交消息的正文还可能包含 RFC 的简短说明。例如:
[rfc] zx_channel_iovec_t support for zx_channel_write and zx_channel_call
This RFC introduces a new mode to zx_channel_write and zx_channel_call that
copies input data from multiple memory regions rather than from a single
contiguous buffer.
将您的更改通过电子邮件发送给最初的一组审核者。Fuchsia 工程委员会会自动收到有关 RFC 创建的通知。
如需详细了解如何在 Fuchsia 项目中创建更改,请参阅贡献更改。
更改 RFC 提案的状态
您的更改通过审核流程后,Fuchsia 工程委员会会告知您提案是否被接受或拒绝。无论提案的最终状态如何,系统都会为您分配一个 RFC 编号,因此无论最终状态如何,提交每个提案都非常重要。
收到工程委员会的最终资质后,请执行以下操作:
在 RFC 文件(扩展名为
.md
)中,修改为 RFC 分配的name
。例如,如果系统为您分配了RFC-9999
,则第一行应如下所示:{% set rfcid = "RFC-9999" %}
使用分配的 RFC 编号重命名您的 RFC 文件(扩展名为
.md
)。例如,如果您获得的任务是RFC-9999
,请将文件重命名为9999_<filename>.md
。在 //docs/contribute/governance/rfcs/_toc.yaml 中修改 RFC 的 TOC 条目以反映 RFC 编号。例如,如果系统为您分配了
RFC-9999
,则您的条目可能如下所示:- title: "RFC-9999: My RFC proposal" path: /docs/contribute/governance/rfcs/9999_<filename>.md
更新 RFC 提案的元数据。如果您正确填写了初始元数据,则只需更新 docs/contribute/governance/rfcs/_rfcs.yaml 中的以下值。
name
:使用分配的 RFC 名称。例如"'RFC-9999'
。file
:使用您在上述步骤中使用的文件名。例如'9999_<filename>.md'
。status
:使用分配给 RFC 的状态,可以是'Accepted'
或'Rejected'
。reviewers
:使用所做更改的审核者列表。例如,如果审核者是 abarth@google.com、cpu@google.com 和 vaas@google.com,则使用['abarth@google.com', 'cpu@google.com', 'vaas@google.com']
。Reviewed
:使用 RFC 批准或拒绝的日期(年-月-日)。例如,2020 年 3 月 15 日将为'2020-03-15'
。
已接受的 RFC 提案的元数据如下所示:
- name: 'RFC-0010' title: 'zx_channel_iovec_t support for zx_channel_write and zx_channel_call' short_description: 'This RFC introduces a new mode to zx_channel_write and zx_channel_call that copies input data from multiple memory regions rather than from a single contiguous buffer.' authors: ['bprosnitz@google.com'] file: '0010_channel_iovec.md' area: ['Zircon'] issue: ['60623'] gerrit_change_id: ['433621'] status: 'Accepted' reviewers: ['cpu@google.com', 'kulakowski@google.com', 'abarth@google.com', 'pascallouis@google.com'] submitted: '2020-09-25' reviewed: '2020-10-31'
使用 RFC 文件更新,为您的更改上传补丁。
申请获批后,请与教员一起提交您的 RFC。具体而言,教员必须为 CL +2。
您已成功提交 RFC 提案。