Trang này trình bày cách người đóng góp có thể đề xuất và thực hiện các thay đổi đối vớ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 cam kết git triển khai tính năng này. Đừ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 cam kết 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 tính 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 cam kết mới và đẩy cam kết đó để thay đổi yêu cầu kéo của bạn. 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.
Điều này 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 bày tỏ ý 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, bạn và người xem xét nên trao đổi rõ ràng về các ý 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 cam kết 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.