이 페이지에서는 참여자가 Bazel 코드베이스를 제안하고 변경하는 방법을 간략히 설명합니다.
- Bazel 참여자 정책을 읽습니다.
- GitHub Issue를 만들어 계획과 설계를 논의합니다. 동작을 변경하거나 추가하는 풀 리퀘스트에는 추적을 위한 상응하는 문제가 필요합니다.
- 중요한 변경사항을 제안하는 경우 설계 문서를 작성합니다.
- 참여자 라이선스 계약에 서명했는지 확인합니다.
- 기능을 구현하는 git 커밋을 준비합니다. 테스트를 추가하고 문서를 업데이트하는 것을 잊지 마세요. 변경사항이 사용자에게 표시되는 경우 출시 노트를 추가하세요. 호환되지 않는 변경사항인 경우 중대한 변경사항 출시 가이드를 참고하세요.
- GitHub에서 pull 요청을 만듭니다. GitHub를 처음 사용하는 경우 풀 리퀘스트에 대한 정보를 읽어보세요. 기본 Bazel 저장소에서 브랜치를 만드는 권한은 제한되어 있으므로 저장소의 자체 포크에 커밋을 푸시해야 합니다.
- Bazel 유지관리자가 영업일 기준 2일 이내에 검토자를 할당해야 합니다(미국 및 독일의 공휴일 제외). 이 기간에 검토자가 할당되지 않으면 bazel-dev@googlegroups.com으로 이메일을 보내 검토자를 요청할 수 있습니다.
- 검토자와 협력하여 코드 검토를 완료합니다. 변경사항마다 새 커밋을 만들고 푸시하여 풀 요청을 변경합니다. 검토가 너무 오래 걸리는 경우 (예: 검토자가 응답하지 않는 경우) bazel-dev@googlegroups.com으로 이메일을 보내세요.
검토가 완료되면 Bazel 유지관리자가 Google의 내부 버전 관리 시스템에 패치를 적용합니다.
이렇게 하면 더 많은 변경사항을 제안할 수 있는 내부 사전 제출 검사가 트리거됩니다. 선호사항을 표현하지 않은 경우 변경사항을 제출하는 유지관리자가 디자인에 영향을 미치지 않는 '사소한' 변경사항 (예: 린팅)을 추가합니다. 더 심층적인 변경이 필요하거나 변경사항을 직접 적용하려는 경우 작성자와 검토자는 검토 댓글에서 선호사항을 명확하게 전달해야 합니다.
내부 제출 후 패치는 Git 커밋으로 내보내지며 이때 GitHub 풀 요청이 종료됩니다. 모든 최종 변경사항은 나에게 귀속됩니다.