O Bazel mantém um modelo de lançamento de suporte de longo prazo (LTS), 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 lançamento do Bazel, incluindo 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
Uma versão candidata a lançamento para uma nova versão do Bazel geralmente é criada no início de cada mês. O trabalho é acompanhado por um bug de lançamento no GitHub indicando uma data de lançamento de destino e é atribuído ao gerente de lançamento 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 em bazel-discuss. Nos próximos dias, a equipe do Bazel vai monitorar os relatórios de bugs da comunidade para detectar regressões nos candidatos.
Como desatar
Se nenhuma regressão for descoberta, o candidato será lançado oficialmente 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 cherry-picks correspondentes à versão candidata a lançamento para corrigir essas regressões. Se não forem encontradas mais regressões por dois dias úteis consecutivos a partir de uma semana após o primeiro candidato a lançamento, ele será lançado.
Novos recursos não são escolhidos a dedo para uma versão candidata a lançamento depois que ela é criada. Além disso, se um novo recurso tiver bugs, ele poderá ser revertido de uma versão candidata a lançamento. Somente bugs que têm o potencial de afetar ou interromper altamente o build de lançamento são corrigidos em uma versão candidata a lançamento depois que ela é cortada.
Uma versão só é lançada em um dia em que o dia seguinte é útil.
Se um problema crítico for encontrado na versão mais recente, a equipe do Bazel vai criar uma versão de patch aplicando a correção ao lançamento. Como esse patch atualiza uma versão existente em vez de criar uma nova, a versão candidata a lançamento do patch pode ser lançada após dois dias úteis.
Teste
Uma versão noturna de todos os projetos em execução em ci.bazel.build é executada 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 destrutiva são notificados.
Quando uma versão candidata a lançamento é emitida, outros projetos do Google, como o TensorFlow, são testados no pacote de testes completo usando os binários da versão candidata a lançamento. Se você tiver um projeto crítico usando o Bazel, recomendamos estabelecer um processo de teste automatizado que rastreie a versão candidata a lançamento atual e informe quaisquer regressões.