O Bazel mantém um modelo de lançamento de suporte a longo prazo (LTS), em que uma versão principal é lançada a cada nove meses e as versões secundárias são lançadas mensalmente. Esta página aborda a política de lançamento do Bazel, incluindo os candidatos a lançamento, cronogramas, anúncios e testes.
As versões do Bazel podem ser encontradas no GitHub.
Versões candidatas a lançamento
Um candidato à versão de uma nova versão do Bazel geralmente é criado no início de cada mês. O trabalho é acompanhado por um bug de lançamento no GitHub que indica uma data de lançamento desejada e é atribuído ao gerente de lançamento atual. Os candidatos à versão precisam ser aprovados em todos os testes de unidade do Bazel e não mostrar regressão indesejada nos projetos testados no Buildkite.
As versões candidatas são anunciadas em bazel-discuss. Nos próximos dias, a equipe do Bazel monitora os relatórios de bugs da comunidade para detectar regressões nos candidatos.
Liberação
Se nenhuma regressão for descoberta, o candidato será oficialmente liberado após uma semana. No entanto, as regressões podem atrasar o lançamento de uma versão candidata a lançamento. Se forem encontradas regressões, a equipe do Bazel vai aplicar as escolhas correspondentes à versão candidata para corrigir essas regressões. Se nenhuma outra regressão for encontrada por dois dias úteis consecutivos, começando uma semana após a primeira candidatura à versão, ela será lançada.
Os novos recursos não são escolhidos para um candidato à versão após o corte. Além disso, se um novo recurso tiver bugs, ele poderá ser revertido de um candidato à versão. Somente os bugs que têm o potencial de afetar ou interromper o build de lançamento são corrigidos em um candidato à versão após o corte.
Uma versão só é lançada em um dia em que o próximo é útil.
Se um problema crítico for encontrado na versão mais recente, a equipe do Bazel vai criar uma versão de correção aplicando a correção à versão. Como esse patch atualiza uma versão existente em vez de criar uma nova, a versão candidata do patch pode ser lançada após dois dias úteis.
Teste
Um build noturno de todos os projetos em execução no ci.bazel.build é executado usando binários do Bazel criados no cabeçalho e binários de lançamento. Os projetos que serão afetados por uma mudança de interrupção são notificados.
Quando um candidato à versão é emitido, outros projetos do Google, como o TensorFlow, são testados no conjunto de testes completo usando os binários do candidato à versão. Se você tiver um projeto crítico usando o Bazel, recomendamos que estabeleça um processo de teste automatizado que acompanhe o candidato a lançamento atual e informe todas as regressões.