Quy trình chấp nhận bản vá

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.

  1. Đọc Chính sách đóng góp cho Bazel.
  2. 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.
  3. Nếu bạn đang đề xuất những thay đổi quan trọng, hãy viết một tài liệu thiết kế.
  4. Đảm bảo bạn đã ký Thoả thuận cấp phép cho người đóng góp.
  5. 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 đây 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 có thể gây lỗi.
  6. 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 bài viết về 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ữ.
  7. Người duy trì Bazel sẽ chỉ định cho bạn một người xem xét trong vòng 7 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ể ping @bazelbuild/triage trên yêu cầu kéo.
  8. 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 đó để thực hiện các thay đổi đối với yêu cầu kéo. Nếu quá 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), bạn có thể ping @bazelbuild/triage trên yêu cầu kéo.
  9. Sau khi bạn hoàn tất việc xem xét, người duy trì Bazel sẽ áp dụng bản vá của bạn cho hệ thống quản lý 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 nội bộ trước khi gửi có thể đề xuất thêm các thay đổi. Nếu bạn chưa nêu rõ lựa chọn ưu tiên, thì người duy trì gửi thay đổi của bạn có thể 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 các thay đổi trực tiếp, thì bạn và người xem xét nên trao đổi rõ ràng về các lựa chọn ưu tiên trong nhận xét 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 GitHub sẽ bị đóng. Tất cả các thay đổi cuối cùng đều được ghi nhận cho bạn.