Go Wiki: Gerrit アクセス

ここでは、Gerrit の 2 種類のアクセスについて説明します。それぞれ権限と責任が異なります。アクセスを要求するのは、コミュニティのアクティブなメンバーである場合に限ります。新規コントリビューターは、アクセスを要求する前に、Gerrit コードレビュープロセスにしばらく参加する必要があります。

(GitHub アクセスについては、GitHubAccess を参照してください)

TryBot の実行(「may-start-trybots」)

TryBot アクセスを使用すると、送信前に Gerrit で CL のテスト実行を開始できます(プリサブミットテスト)。TryBot は、ある程度安全で、ある程度隔離された環境で実行されますが、完全にセキュリティ強化されているわけではありません。TryBot を開始する前に、CL に悪意のあるものが含まれていないか確認する必要があります。

TryBot のトリガー方法の詳細については、LUCI を参照してください。

すべての承認者(次のセクションを参照)は、TryBot アクセスを自動的に持ちます。他のユーザーは TryBot アクセスを要求できます。以下の アクセスリクエスト を参照してください。

CL の承認(「承認者」)

承認者は、以下に説明するレビュー規則に従って、コード変更(CL)をレビューおよび送信できます。承認者になるということは、責任が伴います。承認者は、Go を大切にし、Go の成功を支援したいと考えている人です。承認者は、変更を加えることができる人だけでなく、チームと協力し、最も知識のある人にコードをレビューしてもらい、高品質のコードを提供し、問題(コードまたはテスト)を解決する能力を実証した人です。

コードレビューの要件

すべての CL には、承認者によるコードレビュー(Code-Review+2)と、コードアップローダーまたは少なくとも Code-Review+1 の投票者としての、Google のセキュリティで保護されたコンピューターを使用する 2 人の Google 従業員の関与の両方が必要です。複数の人が関与することで、単一の侵害されたアカウントから一方的にコードが送信されるのを防ぎます。Google の従業員とハードウェア要件は、さらにハードルを上げています。多くのリポジトリの CL は、コミット時にユーザーがダウンロードできるように基本的に Google によって公開されるため、Google の関与はこの公開を承認するためのものです。レビューに Code-Review+2 と必要な Google の関与があれば、どの承認者でも送信できます。これらの規則はすべて Gerrit サーバーによって強制されます。

Code-Review+2 の投票は、変更を読んで、それが正しく、送信するのに適切であると確信していることを意味します。通常、Code-Review+2 は、自分が「所有」しているディレクトリまたはパッケージ内のコードに対してのみ行う必要があります。例外は、些細で明らかに正しい変更です。ユーザーに表示されるすべての新機能または変更(新しい API、新しいコマンドラインフラグなど)は、提案プロセスを経る必要があります。CL は、コミットメッセージ(「For #NNN.」)で特定の承認された提案を参照する必要があります。

Code-Review+2 の投票を追加する際には、Commit-Queue+1 および Auto-Submit+1 も追加することが推奨されます。詳細については、以下の 自動送信 セクションを参照してください。

Code-Review+1 の投票は、変更を読んで妥当であると信じているが、Code-Review+2 が示すような決定的な判断を行っていないことを意味します。また、変更が何らかのセキュリティ脆弱性や、その他明らかに不適切なコード変更を導入していないと確信していることを意味します。

変更が送信されるのに適切なレビューを取得すると、Gerrit に(承認者向けの)[送信] ボタンが表示されます。その領域の所有者(あなたかもしれません!)からの Code-Review+2 で変更を送信する必要があります。

承認者は、CL に Hold+1 を投票して、送信不可としてマークすることもできます(その投票が削除されるまで)。一般的な理由は、提案レビューのために CL を待つ必要がある場合や、CL を特定の時間に送信する必要がある場合などです。Hold+1 を投票することで、レビューは可能ですが、誤って早期に送信されるのを防ぐことができます。

承認者アクセスを要求するには、以下の アクセスリクエスト を参照してください。

自動送信

CL をレビューしていて、そのまま承認および送信できると信じる場合は、自動送信機能を使用してテストを実行し、テストに合格したら CL を送信できます。これを行うには、Code-Review+2 に加えて、Auto-Submit+1 および Commit-Queue+1 を投票します。テストに合格すると、Gopherbot が送信します。

より正確に言うと、Gopherbot は、次の条件を満たす CL を監視して自動的に送信します。

すべての承認者は Auto-Submit+1 の投票を追加できます。パッチが再アップロードされると、Auto-Submit+1 の投票は引き継がれません。

Wiki CL の承認(「wiki-承認者」)

主に wiki (https://go.googlesource.com/wiki) で作業する人は、wiki-承認者の権限を要求できます。これにより、自分の CL であっても、wiki CL に +2 を付けて送信できます。Wiki CL には、2 人(またはそれ以上の)Google 従業員の関与は必要ありません。TryBot はなく、自己レビューが可能です。

アクセスリクエスト

上記のいずれかのアクセスタイプをリクエストするには、新しい issue (https://go.dokyumento.jp/issue/new?title=access:+&body=See+https://go.dokyumento.jp/wiki/GerritAccess) を作成し、必要なアクセスを記述し、Gerrit にログインするために使用する Google アカウントを記述してください。

アクセス許可に関する決定は、Google の Go リリースチームによって行われます。リクエストが拒否された場合、それはほぼ常に、あなたの活動が十分ではなく、あなたの作業、プロジェクトの規則の理解などについて明確なシグナルを得ることができなかったためです。落胆しないでください。そのレベルの親しみに到達するには時間がかかる場合があります。

アクセス権を取得したら

Go の手入れをしましょう! Gardening を参照してください。


このコンテンツは Go Wiki の一部です。