Política de lançamento

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

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

Candidatos a lançamentos

Geralmente, um candidato a lançamento para uma nova versão do Bazel é criado no início de cada mês. O trabalho é rastreado por um bug de lançamento no GitHub, indicando a data de lançamento desejada e é atribuído ao gerenciador de versões atual. Os candidatos a versão precisam passar em todos os testes de unidade do Bazel e não mostrar regressão indesejada nos projetos testados no Buildkite.

Os candidatos a versão são anunciados no bazel-discuss. Nos dias seguintes, a equipe do Bazel vai monitorar os relatórios de bugs da comunidade em busca de regressões nos candidatos.

Liberando

Se nenhuma regressão for descoberta, o candidato será liberado oficialmente depois de uma semana. No entanto, as regressões podem atrasar o lançamento de um candidato a lançamento. Se regressões são encontradas, a equipe do Bazel aplica as seleções correspondentes ao candidato a lançamento para corrigi-las. Se não forem encontradas outras regressões em dois dias úteis consecutivos a partir de uma semana desde o primeiro candidato a lançamento, o candidato será liberado.

Novos recursos não são escolhidos a dedo em um candidato a lançamento depois de serem cortados. Além disso, se um novo recurso apresentar bugs, ele poderá ser revertido de um candidato a lançamento. Somente bugs que têm o potencial de afetar muito ou corromper o build de lançamento são corrigidos em um candidato a lançamento depois que ele é cortado.

Uma versão é lançada somente 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 criará uma versão de patch aplicando a correção a ela. Como esse patch atualiza uma versão atual em vez de criar uma nova, a versão 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 na 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 uma versão candidata a lançamento é emitida, 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 quaisquer regressões.