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