Proses Penerimaan Patch

Laporkan masalah Lihat sumber {/18/}{/1/}

Halaman ini menjelaskan 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 menandatangani Perjanjian Lisensi Kontributor.
  5. Siapkan git commit yang mengimplementasikan fitur tersebut. Jangan lupa untuk menambahkan pengujian dan memperbarui dokumentasi. Jika perubahan Anda memiliki efek yang terlihat oleh pengguna, tambahkan catatan rilis. Jika perubahan ini tidak kompatibel, baca panduan untuk meluncurkan perubahan yang dapat menyebabkan gangguan.
  6. Buat permintaan pull di GitHub. Jika Anda baru mengenal GitHub, baca tentang permintaan pull. Perhatikan bahwa kami membatasi izin untuk membuat cabang pada repositori Bazel utama, sehingga Anda harus mengirim commit ke cabang repositori Anda sendiri.
  7. Pengelola Bazel harus menunjuk Anda sebagai peninjau dalam waktu dua hari kerja (kecuali hari libur di Amerika Serikat dan Jerman). Jika Anda tidak ditugaskan pengulas pada saat itu, 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 kirim untuk membuat perubahan pada permintaan pull Anda. Jika peninjauan berlangsung terlalu lama (misalnya, jika peninjau tidak merespons), kirim email ke bazel-dev@googlegroups.com.
  9. Setelah peninjauan Anda 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 akan menambahkan perubahan "trivial" (seperti lint) yang tidak memengaruhi desain. Jika diperlukan perubahan yang lebih mendalam atau Anda lebih memilih untuk menerapkan perubahan secara langsung, Anda dan peninjau harus menyampaikan preferensi secara jelas dalam komentar ulasan.

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