Go Wiki: HandlingIssues
このドキュメントでは、Go プロジェクトの issue tracker で issue のトリアージとスケジューリングをどのように処理するかを説明します。
Issue の状態
すべての issue は、次のいずれかの状態にある必要があります。プロジェクトの貢献者は、issue をある状態から別の状態に移動させます。これらの明示的な状態の意図は、issue を解決に導くために必要な(最低限の)次のステップを記述することです。issue は、特定の issue のニーズに応じて、任意の順序で状態間を移動できます。
New
- issue が起票されました。
- 正しくフォーマットされていない場合があります(タイトルなど)。
- この状態から移行するには、誰かが issue レポートをクリーンアップし、必要に応じて調査または修正に最適な可能性のある人物を CC する必要があります。
Needs Investigation
- 正しくフォーマットされています。
- タイトルにパスプレフィックスがあります。
- 本文が issue を説明しています。
- マイルストーンがあります。
- issue が重要でない場合は、マイルストーンを
Backlogに設定しても問題ありません。それ以外の場合は、次のリリースに設定します。
- issue が重要でない場合は、マイルストーンを
NeedsInvestigationラベルがあります。- 調査担当者が誰か(例:issue の報告者)からの追加情報を待っている場合は、
WaitingForInfoラベルが付いている場合もあります。
- 調査担当者が誰か(例:issue の報告者)からの追加情報を待っている場合は、
- この状態から移行するには、誰かが issue を調べて、それが有効であり、既存の issue の重複ではないことを確認する必要があります。
Needs Decision
- issue は実際に存在しますが、どのような行動を取るべきか不明です。
- issue は Go 1 で対応可能です。
- 修正を行う前に、専門家、貢献者、および/またはコミュニティからのフィードバックが必要です。
- ほとんどの issue の決定は「はい、これは修正されるべきです」と明白であるため、ほとんどの issue はこの状態に移行しないことに注意してください。
- マイルストーンがあります。
NeedsDecisionラベルがあります。WaitingForInfoラベルが付いている場合があります。- 前進が別の issue の解決または将来の Go バージョンのリリースに依存する場合は、
Blockedラベルが付いている場合があります。付随するコメントは、ブロックの原因を説明する必要があります。 Go2ラベルが付いていてはいけません。(これらの issue は別途処理されます。)
- この状態から移行するには、誰かが issue をどのように解決するかを決定する必要があります。
- 決定が複雑な場合は、issue に
Proposalラベルを付けることができます。issue はプロポーザルプロセスが完了するまでこの状態にとどまり、承認されればNeedsFixに移動します。
- 決定が複雑な場合は、issue に
Needs Fix
- 解決への道筋はわかっていますが、作業はまだ行われていません。
- マイルストーンがあります。
NeedsFixラベルがあります。BlockedまたはWaitingForInfoラベルが付いている場合があります。
- この状態から移行するには、誰かが issue を修正する作業を行う必要があります。
Fix Pending
- バグを修正する CL があり、まだ提出されておらず、TryBots を通過しています。
BlockedまたはWaitingForInfoラベルが付いていてはいけません。
Fixed
- issue は解決されました。これ以上の注意は必要ありません。
- issue はクローズされました。
提案
- プロポーザルプロセスについては下記を参照してください。
issue は、適切な場合に状態間を移動します。例えば、貢献者は issue を起票し、自分自身にアサインし、すぐに NeedsFix ラベルを適用することができます。または、issue は NeedsDecision から NeedsFix に移行し、複雑さが発生した後に再び NeedsDecision に戻ることもあります。
issue はいつでもクローズすることができ、クローズの理由(「...によって修正された」、「...の重複」、「意図どおりに動作している」など)を示すコメントを付けます。
どの状態でも(New を除く)、issue は誰かにアサインすることができます。アサインされていない issue は、誰でも対応できるものとみなされます。
マイルストーン
マイルストーンは、issue 解決のタイムラインを記述します。
-
Go1.x.y
リリース 1.x.y で修正される予定です。
-
リリースブロッカーラベル付き Go1.x.y
リリース 1.x.y のために修正されるか、明示的に次のリリースに延期される必要があります。
-
提案
プロポーザルであり、特定のリリースには関係ありません。
-
Backlog
誰かが取り組む予定がありますが、まだリリース MaileStone には割り当てられていません。
-
Unplanned
いつか修正されるかもしれませんが、誰もそれを行う予定はありません。
-
Unreleased
リリースに含まれていないか、リリースに必要とされていません。
-
Gccgo
gccgo の issue 用。
特定のプロジェクト作業を管理するために、追加のマイルストーンが使用される場合があります。
「Soon」ラベルは、マイルストーンとは独立して、issue が時間的制約があることを示すために使用されます。
提案
言語または標準ライブラリ API の変更は、プロポーザルプロセスを経ます。issue tracker では、プロポーザルには通常 Proposal ラベルと Proposal マイルストーンが付与されます。
ライブラリに対する後方互換性のない変更を提案するプロポーザルには v2 ラベルが付与され、その変更はパッケージの v2 バージョン(または遠い将来の v3 バージョン)がある場合にのみ採用できることを意味します。
言語への変更を提案するプロポーザルには LanguageChange ラベルが付与されるべきです。マイナーな言語変更は通常のプロポーザルプロセスの一部として処理されます。より大規模な言語変更は言語レビュープロセスによって処理され、それらの issue には LanguageChangeReview ラベルが付与されるべきです。
このコンテンツはGo Wikiの一部です。