Proses Penerimaan Patch

Halaman ini menguraikan cara kontributor dapat mengusulkan dan membuat perubahan pada code base Bazel.

  1. Baca kebijakan Kontribusi Bazel.
  2. Buat masalah GitHub untuk membahas rencana dan desain Anda. Permintaan pull yang mengubah atau menambahkan perilaku memerlukan masalah yang sesuai untuk pelacakan.
  3. Jika Anda mengusulkan perubahan yang signifikan, tulis dokumen desain.
  4. Pastikan Anda telah Perjanjian Lisensi Kontributor.
  5. Menyiapkan commit git yang mengimplementasikan fitur tersebut. Jangan lupa untuk menambahkan pengujian dan memperbarui dokumentasi. Jika perubahan Anda memiliki efek yang terlihat oleh pengguna, harap tambahkan catatan rilis. Jika ini adalah perubahan yang tidak kompatibel, baca panduan untuk meluncurkan perubahan yang dapat menyebabkan gangguan.
  6. Buat permintaan pull di GitHub. Jika Anda baru menggunakan GitHub, baca tentang permintaan tarik. Perlu diperhatikan bahwa kami membatasi izin untuk membuat cabang di repositori Bazel utama, sehingga Anda harus mengirim commit ke fork repositori Anda sendiri.
  7. Pengelola Bazel harus menugaskan Anda kepada peninjau dalam waktu dua hari kerja (kecuali hari libur di AS dan Jerman). Jika bukan diberikan peninjau dalam waktu tersebut, Anda dapat memintanya dengan mengirim email ke bazel-dev@googlegroups.com.
  8. Bekerja samalah dengan peninjau untuk menyelesaikan peninjauan kode. Untuk setiap perubahan, buat commit baru dan dorong untuk membuat perubahan pada permintaan pull Anda. Jika peninjauan memakan waktu terlalu lama (misalnya, jika peninjau tidak responsif), kirim email ke bazel-dev@googlegroups.com.
  9. Setelah peninjauan selesai, pengelola Bazel akan menerapkan patch Anda ke sistem kontrol versi internal Google.

    Tindakan ini akan memicu pemeriksaan pra-pengiriman internal yang mungkin menyarankan lebih banyak perubahan. Jika Anda belum menyatakan preferensi, pengelola yang mengirimkan perubahan Anda akan menambahkan "sepele" perubahan (seperti linting) yang tidak memengaruhi desain. Jika diperlukan perubahan yang lebih dalam, atau Anda ingin menerapkan perubahan secara langsung, Anda dan peninjau harus menyampaikan preferensi dengan jelas di komentar ulasan.

    Setelah pengiriman internal, patch diekspor sebagai commit Git. Setelah itu, permintaan pull GitHub akan ditutup. Semua perubahan akhir diatribusikan kepada Anda.