Proses Persetujuan Patch

Laporkan masalah Lihat sumber

Halaman ini menguraikan cara kontributor dapat mengajukan proposal 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, harap tambahkan catatan rilis. Jika perubahan ini tidak kompatibel, baca panduan meluncurkan perubahan yang dapat menyebabkan gangguan.
  6. Buat permintaan pull di GitHub. Jika Anda baru menggunakan GitHub, baca tentang permintaan pull. Perhatikan 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 menetapkan peninjau dalam waktu dua hari kerja (kecuali hari libur di AS dan Jerman). Jika tidak mendapatkan pengulas saat itu, Anda dapat memintanya dengan mengirim email ke bazel-discuss@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 memerlukan waktu terlalu lama (misalnya, jika pengulas tidak responsif), kirim email ke bazel-discuss@googlegroups.com.
  9. Setelah peninjauan selesai, pengelola Bazel menerapkan patch Anda ke sistem kontrol versi internal Google.

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

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