Política de lançamento

O Bazel mantém um modelo de lançamento de Suporte de longo prazo (LTS, na sigla em inglês), em que uma versão principal é lançada a cada nove meses e versões secundárias são lançadas mensalmente. Esta página aborda a política de versão do Bazel, incluindo as candidatas a lançamento, cronogramas, anúncios e testes.

As versões do Bazel podem ser encontradas no GitHub (link em inglês).

Liberar candidatos

Geralmente, uma versão candidata a lançamento de uma nova versão do Bazel é criada no início de cada mês. O trabalho é rastreado por um bug de versão no GitHub (em inglês), que indica uma data de lançamento, e é atribuído ao gerenciador de versão atual. Os candidatos a lançamento precisam passar em todos os testes de unidade do Bazel e não mostrar regressão indesejada nos projetos testados no Buildkite.

As versões candidatas a lançamento são anunciadas no bazel-discuss (em inglês). Nos próximos dias, a equipe do Bazel vai monitorar os relatórios de bugs da comunidade em busca de regressões nos candidatos.

Liberação

Se nenhuma regressão for descoberta, o candidato será liberado oficialmente após uma semana. No entanto, as regressões podem atrasar o lançamento de um candidato a lançamento. Se regressões forem encontradas, a equipe do Bazel vai aplicar as seleções apropriadas ao candidato a lançamento para corrigir essas regressões. Se nenhuma outra regressão for encontrada por dois dias úteis consecutivos, a partir de uma semana após o primeiro candidato a lançamento, o candidato será liberado.

Os novos recursos não são escolhidos a dedo em um candidato a lançamento depois de finalizados. Além disso, se um novo recurso tiver bugs, ele poderá ser revertido de um candidato a lançamento. Somente bugs com o potencial de impactar ou corromper o build de lançamento são corrigidos em um candidato a lançamento após o corte.

Uma versão só é lançada em um dia útil.

Se um problema crítico for encontrado na versão mais recente, a equipe do Bazel criará uma versão de patch aplicando a correção a ela. Como esse patch atualiza uma versão existente em vez de criar uma nova, a candidata a lançamento de patch pode ser lançada após dois dias úteis.

testes

Uma compilação noturna de todos os projetos em execução em ci.bazel.build é executada, usando binários do Bazel criados no início e binários de lançamento. Os projetos que serão afetados por uma alteração interruptiva são notificados.

Quando um candidato a lançamento é emitido, outros projetos do Google, como o TensorFlow, são testados no conjunto completo de testes usando os binários candidatos a lançamento. Se você tiver um projeto crítico usando o Bazel, recomendamos estabelecer um processo de teste automatizado que rastreie o candidato a lançamento atual e relate todas as regressões.