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