Trang này trình bày cách người đóng góp có thể đề xuất và thay đổi cơ sở mã Bazel.
- Đọc Chính sách đóng góp cho Bazel.
- Tạo một vấn đề trên GitHub để thảo luận về kế hoạch và thiết kế của bạn. Các yêu cầu kéo thay đổi hoặc thêm hành vi cần có một vấn đề tương ứng để theo dõi.
- Nếu bạn đề xuất các thay đổi quan trọng, hãy viết một tài liệu thiết kế.
- Đảm bảo bạn đã ký Thỏa thuận cấp phép cho người đóng góp Agreement.
- Chuẩn bị một lệnh git commit để triển khai tính năng. Đừng quên thêm các bài kiểm thử và cập nhật tài liệu. Nếu thay đổi của bạn có ảnh hưởng đến người dùng, vui lòng thêm ghi chú phát hành. Nếu đó là một thay đổi không tương thích, hãy đọc hướng dẫn về cách triển khai các thay đổi mang tính đột phá.
- Tạo một yêu cầu kéo trên GitHub. Nếu bạn mới sử dụng GitHub, hãy đọc về các yêu cầu kéo. Xin lưu ý rằng chúng tôi hạn chế quyền tạo nhánh trên kho lưu trữ Bazel chính, vì vậy bạn sẽ cần đẩy lệnh commit của mình vào nhánh riêng của kho lưu trữ.
- Người duy trì Bazel sẽ chỉ định cho bạn một người xem xét trong vòng 2 ngày làm việc (không bao gồm các ngày lễ ở Hoa Kỳ và Đức). Nếu không được chỉ định người xem xét trong khoảng thời gian đó, bạn có thể yêu cầu bằng cách gửi email đến bazel-dev@googlegroups.com.
- Làm việc với người xem xét để hoàn tất quy trình xem xét mã. Đối với mỗi thay đổi, hãy tạo một lệnh commit mới và đẩy lệnh đó để thay đổi yêu cầu kéo. Nếu quy trình xem xét mất quá nhiều thời gian (ví dụ: nếu người xem xét không phản hồi), hãy gửi email đến bazel-dev@googlegroups.com.
Sau khi bạn hoàn tất quy trình xem xét, người duy trì Bazel sẽ áp dụng bản vá của bạn vào hệ thống kiểm soát phiên bản nội bộ của Google.
Thao tác này sẽ kích hoạt các lượt kiểm tra trước khi gửi nội bộ có thể đề xuất thêm các thay đổi. Nếu bạn chưa nêu rõ ý muốn, người duy trì gửi thay đổi của bạn sẽ thêm các thay đổi "không đáng kể" (chẳng hạn như linting) không ảnh hưởng đến thiết kế. Nếu cần thay đổi sâu hơn hoặc bạn muốn áp dụng trực tiếp các thay đổi, thì bạn và người xem xét nên trao đổi rõ ràng về ý muốn trong phần nhận xét về quy trình xem xét.
Sau khi gửi nội bộ, bản vá sẽ được xuất dưới dạng lệnh commit Git, tại thời điểm đó, yêu cầu kéo trên GitHub sẽ bị đóng. Tất cả các thay đổi cuối cùng đều được ghi nhận cho bạn.