熟悉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 的問題清單。
如果您沒有「issue」編號,可以將這個值留空,
|
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
值命名。使用文字編輯器編輯檔案時,您需要編輯範本的第一行,其中包含含有 RFC 的
name
和rfcid
變數。舉例來說,如果name
是"RFC-NNNN"
,第一行會如下所示:{% set rfcid = "RFC-NNNN" %}
在 ## Summary 標題後方,填寫 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 Eng Council 會自動收到 RFC 建立通知。
如要進一步瞭解如何在 Fuchsia 專案中建立變更,請參閱「提供變更」一文。
變更 RFC 提案的狀態
變更完成審查程序後,Fuchsia Eng Council 會通知您提案是否獲得核准。無論提案的最終狀態為何,系統都會指派 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 提案。