패치 수락 프로세스

7.3 · 7.2 · 7.1 · 7.0 · 6.5

이 페이지에서는 참여자가 Bazel 코드베이스를 제안하고 변경하는 방법을 설명합니다.

  1. Bazel 참여자 정책을 읽습니다.
  2. 계획 및 설계에 대해 논의하려면 GitHub 문제를 만드세요. 동작을 변경하거나 추가하는 풀 리퀘스트에는 추적을 위한 상응하는 문제가 필요합니다.
  3. 중요한 변경사항을 제안하는 경우 설계 문서를 작성합니다.
  4. 참여자 라이선스 계약에 서명했는지 확인합니다.
  5. 기능을 구현하는 git 커밋을 준비합니다. 테스트를 추가하고 문서를 업데이트하는 것을 잊지 마세요 변경사항이 사용자에게 표시되는 효과를 갖는 경우 출시 노트를 추가하세요. 호환되지 않는 변경사항인 경우 중대한 변경사항 출시 가이드를 참고하세요.
  6. GitHub에서 pull 요청을 만듭니다. GitHub를 처음 사용하는 경우 풀 리퀘스트에 대한 정보를 읽어보세요. 기본 Bazel 저장소에서 브랜치를 만드는 권한은 제한되어 있으므로 저장소의 자체 포크에 커밋을 푸시해야 합니다.
  7. Bazel 유지관리자가 영업일 기준 2일 이내에 검토자를 할당해야 합니다(미국 및 독일의 공휴일 제외). 이 시간에 검토자가 지정되지 않은 경우 bazel-discuss@googlegroups.com으로 이메일을 보내 검토자를 요청할 수 있습니다.
  8. 검토자와 협력하여 코드 검토를 완료합니다. 변경사항마다 새 커밋을 만들고 푸시하여 풀 요청을 변경합니다. 검토가 너무 오래 걸리는 경우 (예: 검토자가 응답하지 않는 경우) bazel-discuss@googlegroups.com으로 이메일을 보내세요.
  9. 검토가 완료되면 Bazel 유지관리자가 패치를 Google의 내부 버전 제어 시스템에 적용합니다.

    이렇게 하면 추가 변경사항을 제안할 수 있는 내부 사전 제출 검사가 트리거됩니다. 선호사항을 표현하지 않은 경우 변경사항을 제출하는 유지보육자가 디자인에 영향을 미치지 않는 '사소한' 변경사항 (예: 린팅)을 추가합니다. 더 심층적인 변경이 필요하거나 변경사항을 직접 적용하려는 경우 작성자와 검토자는 검토 댓글에서 선호사항을 명확하게 전달해야 합니다.

    내부 제출 후 패치는 Git 커밋으로 내보내지며, 이때 GitHub pull 요청이 종료됩니다. 모든 최종 변경사항은 나에게 귀속됩니다.