Halaman ini menguraikan cara kontributor dapat mengusulkan dan membuat perubahan pada basis kode Bazel.
- Baca kebijakan Kontribusi Bazel.
- Buat masalah GitHub untuk membahas rencana dan desain Anda. Permintaan pull yang mengubah atau menambahkan perilaku memerlukan masalah yang sesuai untuk pelacakan.
- Jika Anda mengusulkan perubahan signifikan, tulis dokumen desain.
- Pastikan Anda telah menandatangani Perjanjian Lisensi Kontributor.
- Siapkan commit git yang menerapkan 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 tersebut tidak kompatibel, baca panduan untuk meluncurkan perubahan yang melanggar.
- Buat permintaan pull di GitHub. Jika Anda baru menggunakan GitHub, baca tentang permintaan pull requests. Perhatikan bahwa kami membatasi izin untuk membuat cabang di repositori Bazel utama, sehingga Anda harus mengirimkan commit ke fork repositori Anda sendiri.
- Pengelola Bazel harus menetapkan peninjau dalam waktu dua hari kerja (tidak termasuk hari libur di Amerika Serikat dan Jerman). Jika Anda tidak ditetapkan sebagai peninjau dalam jangka waktu tersebut, Anda dapat memintanya dengan mengirim email ke bazel-dev@googlegroups.com.
- Bekerja sama dengan peninjau untuk menyelesaikan peninjauan kode. Untuk setiap perubahan, buat commit baru dan kirimkan untuk membuat perubahan pada permintaan pull Anda. Jika peninjauan memerlukan waktu terlalu lama (misalnya, jika peninjau tidak responsif), kirim email ke bazel-dev@googlegroups.com.
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 perubahan "trivial" (sepertilinting) yang tidak memengaruhi desain. Jika perubahan yang lebih mendalam diperlukan atau Anda lebih suka menerapkan perubahan secara langsung, Anda dan peninjau harus mengomunikasikan preferensi dengan jelas dalam komentar peninjauan.
Setelah pengiriman internal, patch akan diekspor sebagai commit Git, dan permintaan pull GitHub akan ditutup. Semua perubahan akhir akan dikaitkan dengan Anda.