출시 정책

Bazel은 주 버전이 9개월마다 출시되고 부 버전이 매월 출시되는 장기 지원 (LTS) 출시 모델을 유지합니다. 이 페이지에서는 출시 후보, 타임라인, 공지, 테스트를 포함한 Bazel 출시 정책을 다룹니다.

Bazel 출시 버전은 GitHub에서 확인할 수 있습니다.

출시 후보

Bazel의 새 버전에 대한 출시 후보는 일반적으로 매월 초에 생성됩니다. 작업은 목표 출시 날짜를 나타내는 GitHub의 출시 버그로 추적되며, 현재 출시 관리자에게 할당됩니다. 출시 후보는 모든 Bazel 단위 테스트를 통과해야 하며 Buildkite에서 테스트된 프로젝트에서 원치 않는 회귀가 없어야 합니다.

출시 후보는 bazel-discuss에 발표됩니다. Bazel팀은 앞으로 며칠 동안 커뮤니티 버그 신고를 검토하여 지원자의 회귀를 모니터링합니다.

출시 중

회귀가 발견되지 않으면 일주일 후에 공식 출시됩니다. 하지만 회귀로 인해 출시 후보의 출시가 지연될 수 있습니다. 회귀가 발견되면 Bazel팀이 해당 후보를 선별하여 출시 후보에 적용하여 이러한 회귀 문제를 수정합니다. 첫 번째 출시 후보가 출시된 후 영업일 기준 2일 연속으로 추가 회귀가 발견되지 않으면 해당 후보가 해제됩니다.

새로운 기능은 기능이 삭제된 후 출시 후보로 선정되지 않습니다. 게다가 새로운 기능이 버그인 경우 출시 후보에서 기능을 롤백할 수 있습니다. 출시 빌드에 큰 영향을 미치거나 손상시킬 가능성이 있는 버그만 잘라낸 후 출시 후보에서 수정됩니다.

출시일은 다음날이 영업일인 날에만 출시됩니다.

최신 출시 버전에 중요한 문제가 발견되면 Bazel팀이 출시 버전에 수정사항을 적용하여 패치 출시 버전을 만듭니다. 이 패치는 새 버전을 만드는 대신 기존 버전을 업데이트하므로 영업일 기준 2일 후에 패치 출시 후보를 출시할 수 있습니다.

테스트

ci.bazel.build에서 실행되는 모든 프로젝트의 나이틀리 빌드가 실행되며 헤드에 빌드된 Bazel 바이너리와 출시 바이너리가 사용됩니다. 브레이킹 체인지의 영향을 받을 프로젝트에 알림이 전송됩니다.

출시 후보가 발급되면 TensorFlow와 같은 다른 Google 프로젝트가 출시 후보 바이너리를 사용하여 전체 테스트 모음에서 테스트됩니다. Bazel을 사용하는 중요 프로젝트가 있는 경우 현재 출시 후보를 추적하고 모든 회귀를 보고하는 자동화된 테스트 프로세스를 설정하는 것이 좋습니다.