為核准者和審閱者審閱

SIG Docs 審閱者核准者 在審閱變更時會執行一些額外的事情。

每週都會有一位特定的文件核准者自願分類和審閱提取請求。這個人是當週的「PR 管理員」。請參閱 PR 管理員排程器 以取得更多資訊。若要成為 PR 管理員,請參加每週的 SIG Docs 會議並自願。即使您不在當週的排程中,您仍然可以審閱尚未處於活躍審閱中的提取請求 (PR)。

除了輪換之外,機器人還會根據受影響檔案的擁有者為 PR 指派審閱者和核准者。

審閱 PR

Kubernetes 文件遵循 Kubernetes 程式碼審閱程序

審閱提取請求 中描述的所有內容都適用,但審閱者和核准者也應執行以下操作

  • 視需要使用 /assign Prow 命令將特定審閱者指派給 PR。當需要從程式碼貢獻者請求技術審閱時,這尤其重要。

  • 確保 PR 遵循 內容樣式 指南;如果沒有,請將作者連結到指南的相關部分。

  • 適用時使用 GitHub 請求變更 選項來建議 PR 作者進行變更。

  • 如果您的建議已實作,請使用 /approve/lgtm Prow 命令在 GitHub 中變更您的審閱狀態。

提交到其他人的 PR

留下 PR 評論很有幫助,但有時您可能需要提交到其他人的 PR 中。

除非他們明確要求您接管,或者您想要復活長期被放棄的 PR,否則請勿「接管」其他人的工作。雖然短期內可能會更快,但這剝奪了該人貢獻的機會。

您使用的程序取決於您是否需要編輯已在 PR 範圍內的文件,或 PR 尚未觸及的文件。

如果以下任何一項為真,您就無法提交到其他人的 PR 中

  • 如果 PR 作者將他們的分支直接推送到 https://github.com/kubernetes/website/ 儲存庫。只有具有推送存取權限的審閱者才能提交到其他使用者的 PR。

  • PR 作者明確禁止核准者編輯。

用於審閱的 Prow 命令

Prow 是基於 Kubernetes 的 CI/CD 系統,針對提取請求 (PR) 執行作業。Prow 啟用聊天機器人樣式的命令來處理整個 Kubernetes 組織的 GitHub 動作,例如 新增和移除標籤、關閉 issue 以及指派核准者。以 GitHub 評論的形式輸入 Prow 命令,使用 /<command-name> 格式。

審閱者和核准者最常使用的 prow 命令是

用於審閱的 Prow 命令
Prow 命令角色限制描述
/lgtm組織成員表示您已完成審閱 PR,並對變更感到滿意。
/approve核准者核准要合併的 PR。
/assign任何人指派人員審閱或核准 PR
/close組織成員關閉 issue 或 PR。
/hold任何人新增 do-not-merge/hold 標籤,表示 PR 無法自動合併。
/hold cancel任何人移除 do-not-merge/hold 標籤。

若要檢視您可以在 PR 中使用的命令,請參閱 Prow 命令參考

分類和分類 issue

一般來說,SIG Docs 遵循 Kubernetes issue 分類 程序,並使用相同的標籤。

這個 GitHub Issue 篩選器 尋找可能需要分類的 issue。

分類 issue

  1. 驗證 issue

    • 確保 issue 是關於網站文件。有些 issue 可以透過回答問題或將報告者指向資源來快速關閉。請參閱 支援請求或程式碼錯誤報告 區段以取得詳細資訊。
    • 評估 issue 是否有價值。
    • 如果 issue 沒有足夠的詳細資訊來執行,或者範本未充分填寫,請新增 triage/needs-information 標籤。
    • 如果 issue 同時具有 lifecycle/staletriage/needs-information 標籤,請關閉 issue。
  2. 新增優先順序標籤(Issue 分類指南 詳細定義了優先順序標籤)

Issue 標籤
標籤描述
priority/critical-urgent立即執行此操作。
priority/important-soon在 3 個月內執行此操作。
priority/important-longterm在 6 個月內執行此操作。
priority/backlog無限期延遲。在資源可用時執行。
priority/awaiting-more-evidence潛在良好 issue 的佔位符,使其不會遺失。
helpgood first issue適合 Kubernetes 或 SIG Docs 經驗很少的人。請參閱 徵求協助和良好的首個 Issue 標籤 以取得更多資訊。

您可以自行決定取得 issue 的所有權並為其提交 PR(尤其是在 issue 快速或與您已在進行的工作相關時)。

如果您對問題分類有疑問,請在 Slack 的 #sig-docs 頻道或 kubernetes-sig-docs 郵件論壇中提問。

新增與移除 Issue 標籤

若要新增標籤,請以以下其中一種格式留下評論

  • /<要新增的標籤> (例如,/good-first-issue)
  • /<標籤類別> <要新增的標籤> (例如,/triage needs-information/language ja)

若要移除標籤,請以以下其中一種格式留下評論

  • /remove-<要移除的標籤> (例如,/remove-help)
  • /remove-<標籤類別> <要移除的標籤> (例如,/remove-triage needs-information)

在以上兩種情況下,標籤都必須已存在。如果您嘗試新增不存在的標籤,指令將會被靜默忽略。

如需所有標籤的清單,請參閱網站儲存庫的 Labels 區段。並非所有標籤都由 SIG Docs 使用。

Issue 生命週期標籤

Issue 通常會快速地被開啟和關閉。然而,有時 Issue 在開啟後會變得不活躍。其他時候,Issue 可能需要保持開啟超過 90 天。

Issue 生命週期標籤
標籤描述
lifecycle/stale若 Issue 在 90 天內沒有任何活動,將會自動標記為 stale。如果沒有使用 /remove-lifecycle stale 指令手動回復生命週期,Issue 將會自動關閉。
lifecycle/frozen帶有此標籤的 Issue 在不活動 90 天後不會變成 stale。使用者會手動將此標籤新增至需要保持開啟遠超過 90 天的 Issue,例如帶有 priority/important-longterm 標籤的 Issue。

處理特殊的 Issue 類型

SIG Docs 經常遇到以下類型的 Issue,並記錄了處理它們的方式。

重複 Issue

如果單一問題有多個已開啟的 Issue,請將它們合併為單一 Issue。您應該決定要保留哪個 Issue (或開啟一個新的 Issue),然後將所有相關資訊移過去並連結相關的 Issue。最後,將所有描述相同問題的其他 Issue 標記為 triage/duplicate 並關閉它們。只保留單一 Issue 處理可以減少混亂,並避免在同一個問題上重複工作。

如果失效連結 Issue 出現在 API 或 kubectl 文件中,請將它們指派 /priority critical-urgent 優先級,直到問題完全被理解。將所有其他失效連結 Issue 指派 /priority important-longterm 優先級,因為它們必須手動修復。

部落格 Issue

我們預期 Kubernetes 部落格文章會隨著時間過時。因此,我們僅維護發布未滿一年的部落格文章。如果 Issue 與發布超過一年的部落格文章相關,請關閉 Issue 而不進行修復。

支援請求或程式碼錯誤報告

有些文件 Issue 實際上是底層程式碼的問題,或是針對某些問題 (例如教學範例無法運作) 的協助請求。對於與文件無關的 Issue,請使用 kind/support 標籤關閉 Issue,並留下評論引導請求者前往支援管道 (Slack、Stack Overflow),並且如果相關,也引導他們前往儲存庫提交功能錯誤的 Issue (kubernetes/kubernetes 是一個很好的起點)。

支援請求的回應範例

This issue sounds more like a request for support and less
like an issue specifically for docs. I encourage you to bring
your question to the `#kubernetes-users` channel in
[Kubernetes slack](https://slack.k8s.io/). You can also search
resources like
[Stack Overflow](https://stackoverflow.com/questions/tagged/kubernetes)
for answers to similar questions.

You can also open issues for Kubernetes functionality in
https://github.com/kubernetes/kubernetes.

If this is a documentation issue, please re-open this issue.

程式碼錯誤報告的回應範例

This sounds more like an issue with the code than an issue with
the documentation. Please open an issue at
https://github.com/kubernetes/kubernetes/issues.

If this is a documentation issue, please re-open this issue.

合併提交 (Squashing)

身為核准者,當您審閱 Pull Request (PR) 時,在各種情況下您可能會執行以下操作

  • 建議貢獻者合併他們的提交。
  • 為貢獻者合併提交。
  • 建議貢獻者暫時不要合併。
  • 防止合併。

建議貢獻者合併提交:新的貢獻者可能不知道他們應該在 Pull Request (PR) 中合併提交。如果是這種情況,請建議他們這樣做,提供有用的資訊連結,並表示如果他們需要協助,可以安排協助。一些有用的連結

為貢獻者合併提交:如果貢獻者可能難以合併提交,或者有時間壓力需要合併 PR,您可以為他們執行合併

  • kubernetes/website 儲存庫已配置為允許 Pull Request 合併時進行合併提交。只需選擇合併提交 (Squash commits) 按鈕即可。
  • 在 PR 中,如果貢獻者啟用維護者管理 PR,您可以合併他們的提交,並使用結果更新他們的分支 (fork)。在您合併之前,建議他們儲存並推送他們最新的變更到 PR。在您合併之後,建議他們將合併後的提交拉取 (pull) 到他們的本地副本。
  • 您可以讓 GitHub 使用標籤來合併提交,以便 Tide / GitHub 執行合併,或者在您合併 PR 時點擊合併提交 (Squash commits) 按鈕。

建議貢獻者避免合併提交

  • 如果某個提交做了錯誤或不明智的事情,而最後一個提交還原了這個錯誤,請不要合併提交。即使 GitHub 上 PR 中的「檔案變更 (Files changed)」標籤和 Netlify 預覽看起來都沒問題,合併這個 PR 可能會為其他人造成 rebase 或合併衝突。請根據您的判斷介入以避免其他貢獻者面臨這種風險。

永遠不要合併

  • 如果您要啟動本地化或發布新版本的文件,您正在合併一個不是來自使用者分支 (fork) 的分支,永遠不要合併提交。不合併提交至關重要,因為您必須維護這些檔案的提交歷史記錄。
上次修改時間:2023 年 3 月 27 日下午 8:43 PST:Tweak lines and fix indentations in for-approvers.md (0bc196344b)