Go Wiki: HandlingIssues
このドキュメントでは、GoプロジェクトのIssueトラッカーにおけるIssueのトリアージとスケジューリングの処理方法について説明します。
Issueの状態
すべてのIssueは、以下のいずれかの状態である必要があります。プロジェクトのコントリビューターが、Issueをある状態から別の状態に移動させます。これらの明示的な状態の背後にある意図は、Issueを解決に導くために必要な(最小限の)次のステップを記述することです。Issueは、特定のIssueのニーズに応じて、任意の状態間を任意の順序で移動できます。
新規
- Issueが提出されました。
- 適切にフォーマットされていない可能性があります(タイトルなど)。
- この状態から移行するには、誰かがIssueレポートを整理し、必要に応じて、調査または修正に最も適した人にCCする必要があります。
調査が必要
- 適切にフォーマットされています。
- タイトルにはパスのプレフィックスがあります。
- 本文にIssueが記述されています。
- マイルストーンがあります。
- Issueが重要でない場合は、マイルストーンを
Backlog
に設定してもかまいません。それ以外の場合は、次のリリースに設定します。
- Issueが重要でない場合は、マイルストーンを
NeedsInvestigation
ラベルが付いています。- 調査担当者が誰か(Issueの報告者など)からの追加情報を待っている場合は、
WaitingForInfo
ラベルが付いている場合もあります。
- 調査担当者が誰か(Issueの報告者など)からの追加情報を待っている場合は、
- この状態から移行するには、誰かがIssueを調べて、有効であり、既存のIssueの重複ではないことを確認する必要があります。
決定が必要
- Issueは実際のものですが、どのようなアクションを実行すべきか不明です。
- IssueはGo 1で対処できます。
- 修正を行う前に、専門家、コントリビューター、および/またはコミュニティからのフィードバックが必要です。
- ほとんどの場合、「はい、これは修正する必要があります」という明確な決定となるため、Issueの大部分がこの状態に移行することはないことに注意してください。
- マイルストーンがあります。
NeedsDecision
ラベルが付いています。WaitingForInfo
ラベルが付いている場合があります。- 他のIssueの解決または将来のバージョンのGoのリリースに進行状況が依存する場合は、
Blocked
ラベルが付いている場合があります。付随するコメントで、ブロックされている理由を説明する必要があります。 Go2
ラベルが付いていてはいけません。(これらのIssueは別途処理されます。)
- この状態から移行するには、誰かがIssueをどのように解決するかを決定する必要があります。
- 決定が複雑な場合は、Issueに
Proposal
ラベルを付けることができます。Issueは、提案プロセスが完了するまでこの状態のままであり、承認された場合はNeedsFix
に移動します。
- 決定が複雑な場合は、Issueに
修正が必要
- 解決への道筋はわかっていますが、作業は完了していません。
- マイルストーンがあります。
NeedsFix
ラベルが付いています。Blocked
またはWaitingForInfo
ラベルが付いている場合があります。
- この状態から移行するには、誰かがIssueを修正する作業を行う必要があります。
修正待ち
- バグを修正し、TryBotsに合格したが、まだ送信されていないCLがあります。
Blocked
またはWaitingForInfo
ラベルが付いていてはいけません。
修正済み
- Issueが解決されました。これ以上の注意は必要ありません。
- Issueはクローズされます。
提案
- 提案プロセスについては、以下を参照してください。
Issueは、適切な状態から別の状態に移動します。たとえば、コントリビューターがIssueを提出し、自分自身に割り当てて、すぐにNeedsFix
ラベルを適用することがあります。または、IssueはNeedsDecision
からNeedsFix
に移動し、複雑さが増すにつれて、後でNeedsDecision
に戻ることもあります。
Issueはいつでもクローズでき、クローズの理由を示すコメント(「…で修正」、「…の重複」、「意図された動作」など)を付けることができます。
(新規を除く)任意の状態では、Issueを誰かに割り当てることができます。割り当てられていないIssueは、誰でも対処できると見なされます。
マイルストーン
マイルストーンは、Issueの解決のタイムラインを記述します。
-
Go1.x.y
リリース1.x.yで修正される予定です。
-
リリースブロッカーラベル付きのGo1.x.y
リリース1.x.yで修正されるか、明示的に後のリリースに延期する必要があります。
-
提案
提案であり、特定のリリースには関係ありません。
-
バックログ
誰かが作業を計画していますが、まだリリースマイルストーンには割り当てられていません。
-
未計画
いつか修正される可能性がありますが、誰もそれを行う予定はありません。
-
未リリース
リリースに含まれていないか、リリースで必要ありません。
-
Gccgo
gccgo Issue用。
追加のマイルストーンを使用して、特定のプロジェクト作業を管理できます。
Issueが時間に敏感であることを示すために、マイルストーンとは独立して「近日公開」ラベルが使用されます。
提案
言語または標準ライブラリAPIへの変更は、提案プロセスを経て行われます。Issueトラッカーでは、提案には通常Proposal
ラベルが付けられ、Proposal
マイルストーンになります。
ライブラリへの後方互換性のない変更を示唆する提案には、v2
ラベルが付いています。これは、パッケージのv2バージョン(または、遠い将来にはv3バージョン)がある場合にのみ採用できることを意味します。
言語への変更を示唆する提案には、LanguageChange
ラベルを付ける必要があります。小さな言語変更は、通常の提案プロセスの一部として処理されます。大きな言語変更は、言語レビュープロセスによって処理されます。これらのIssueには、LanguageChangeReview
ラベルを付ける必要があります。
このコンテンツは、Go Wikiの一部です。