このページでは、コントリビューターが Bazel コードベースを提案して変更する方法について説明します。
- Bazel 寄付ポリシーを読む。
- GitHub の問題を作成して、計画と設計について話し合います。動作を変更または追加した pull リクエストには、対応するトラッキングの問題が必要です。
- 重要な変更を提案する場合は、設計ドキュメントを作成してください。
- コントリビューター ライセンス契約に署名している。
- 機能を実装する Git commit を準備します。忘れずにテストを追加し、ドキュメントを更新してください。変更にユーザーに表示される影響がある場合は、リリースノートを追加してください。互換性のない変更の場合は、互換性を破る変更のロールアウトに関するガイドをご覧ください。
- GitHub で pull リクエストを作成します。GitHub を初めて使用する場合は、pull リクエストについてをご覧ください。メインの Bazel リポジトリにブランチを作成する権限に制限があるため、commit をリポジトリの独自のフォークに push する必要があります。
- Bazel の管理者から 2 営業日以内に、審査担当者(米国とドイツの休日を除く)が割り当てられている必要があります。この期限内に審査担当者が割り当てられない場合は、bazel-discuss@googlegroups.com にメールを送信して審査担当者をリクエストできます。
- 審査担当者と連携して、コードレビューを完了します。変更ごとに新しい commit を作成し、push リクエストを pull リクエストに変更します。審査に時間がかかりすぎる場合(審査担当者からの回答がない場合など)、bazel-discuss@googlegroups.com にメールを送信します。
レビューが完了すると、Bazel メンテナーが Google の内部バージョン管理システムにパッチを適用します。
これにより、変更を提案する内部 presubmit チェックがトリガーされます。設定を行っていない場合、変更を送信する管理者は、デザインに影響を及ぼさない「軽微」な変更(lint チェックなど)を追加します。より深い変更が必要な場合、または変更を直接適用する場合は、レビュー投稿者がレビューのコメントで設定について明確に伝える必要があります。
内部での送信後、パッチは Git commit としてエクスポートされ、この時点で GitHub pull リクエストが閉じられます。最終的な変更はすべて帰属となります。