接收拉取請求審查¶
您的拉取請求已提交,並通過 CI。現在可以審核了。
tl;dr - 審核程序¶
簡短的審核流程:
- 等待審查。
- 回應回饋。
- 如果要求變更:
- 完成所要求的變更。
- 提交所有要求的變更。
- 提交所有要求的變更後,重新要求審核。
- 重複第三節,直到不需要進一步變更為止。
- 等待您的拉取請求被核准並合併。
恭喜您您剛剛為 BeeWare 作出了貢獻!
我提交了拉取請求,接下來該做什麼?¶
提交您的拉取請求後,您需要等待對您的貢獻進行審查。審查過程有兩方面:提供審查和接收審查。
檢視期望
您應該期望任何審閱您提交內容的人都遵守這些準則,包括核心團隊成員的審閱。您在審閱他人提交的稿件時,也應該遵守這些準則。
如果您覺得您的評審員偏離了這些期望,而您自己又覺得可以在拉取請求中提出問題,您可以這樣做。如果您覺得不方便,請聯絡 BeeWare行為準則回應小組。我們將審查您的報告,並跟進您的審查者。跟進將反映報告的行動;輕微的違規行為可能導致討論,而嚴重的違規行為可能導致更嚴重的事情。
提供檢閱¶
歡迎每個人對任何拉取請求提供檢閱。這些準則描述了我們對檢閱的期望,不論它是由核心團隊成員或社群成員提供。
核心團隊成員總是需要提供最後的審查;但社區成員的審查對於簡化過程很有幫助 - 理想的情況是,在社區審查找出所有主要問題後,核心團隊的審查才會正式進行。
接受審查¶
接受審核涉及三個基本步驟:
- 初步回饋和問題。
- 變更請求。
- 批准和合併。
每個步驟的詳細說明如下。如果您在過程中有任何問題,請不要猶豫!我們很樂意提供協助。
時間表和初步回饋¶
核心團隊的目標是確保每個 pull request 都能在十個工作天內收到審核。但是,如果提交的資料較為複雜,或當提交 pull request 時團隊的部分成員正在休假,則該時間線可能會延長。
我們通常會與每個 pull request 的審查員保持連續性 - 也就是說,您可能會在整個審查過程中與相同的審查員合作。這意味著您的審核員在整個過程中都會有上下文,您也可以瞭解在回應速度和審核風格方面的預期。如果您的初始審核員發現他們不具備審核您的 pull 請求所需的專業知識,或者他們知道會因為某些原因而無法提供,他們可能會將您的 pull 請求的責任推給其他團隊成員。
您可以預期我們會在十個營業日的滾動時間內回覆您的意見。回應回饋和問題是審核流程的重要部分。我們期望您在我們進入流程的下一步之前作出回應。
變更請求¶
大多數時候,您的審閱人會要求修改您的 pull request。這不一定是您工作的反映,這只是過程的一部分。
如果初步審查發現了大量問題,第一次審查可能不會很全面。取而代之的是,它將專注於提供高層次的工作方向,使 pull request 進入可合併的狀態。審查過程中可能會提出問題,以澄清嘗試工作的目的和範圍。
完成所要求的變更¶
您的審閱人將對您的 pull request 發佈註解。這些評論可以是一般性的,也可以是對特定檔案或特定程式碼行的評論。他們有時會直接建議您可以透過 GitHub UI 應用到您的拉取請求的變更。通常,它們會是問題、澄清的請求或更新的指引。
將對話標記為已解決
在回饋程序的討論部分,您絕不應該將評審員開始的對話標記為 「已解決」。將對話標記為已解決是評閱人的責任。要由他們來判斷所發現的問題是否已經解決。
如果審查發現了一個系統性問題(例如,代碼中存在命名不一致的情況),審查員可能不會強調該問題的每個實例。相反,他們可能會挑出幾個問題的範例,並指出其他範例也應該糾正。如果審查員強調了某處的問題,而您認為該問題可能適用於其他地方,那麼您應該修正該問題,無論它出現在哪裡。如果您不確定,請向您的審查員要求澄清。
提交所有要求的變更¶
一旦您完成所有要求的變更,就可以推送更新到您的 pull request。這將會觸發一次新的 CI 執行;當您確認 CI 仍然通過後,請張貼評論要求更新審查,核心團隊將會再次檢視您的拉取請求。
推送,不要強制或重新基礎化
當您在審閱過程中更新您的 pull request 時,保持提交歷史的完整是很重要的。即使有一大串的提交也沒關係,它們都會在我們合併拉取請求時被壓掉。如果您在審閱中途強行推送或重新歸檔您的 pull request,您可能會移除審閱者所需的重要上下文。
重新要求審查¶
一旦您解決了特定檢閱中所有要求的變更,且 CI 再次通過,您就可以向您的檢閱員重新要求檢閱。如果問題特別複雜,而修正其中一個問題會影響到另一個問題,您可以要求對您更新的特定部分進行檢閱。我們的假設是,任何審查請求都是對完整審查的請求。如果您還沒有準備好進行完整的檢閱,請務必清楚說明您想要的是什麼。
拉取請求核准與合併¶
一旦您回應的所有變更請求都已完成,拉取請求就會被核准。在大多數情況下,一旦拉取請求獲得批准,我們會立即合併它。在某些情況下,可能會出現情有可原的情況,例如依賴於另一個尚未合併的 pull request,而導致延遲。我們會在評論中溝通,讓您知道情況。