O Bazel 4.0 e as versões mais recentes oferecem suporte a duas faixas de lançamento: suporte de longo prazo (LTS, na sigla em inglês). Nesta página, falamos sobre o controle de versões no Bazel, a tipos de versões e os benefícios delas para usuários do Bazel colaboradores.
Noções básicas sobre o controle de versões no Bazel
O Bazel usa um esquema de controle de versão semântico major.minor.patch.
- Uma versão principal contém recursos que não são compatíveis com as para a versão anterior.
- Uma versão secundária contém novos recursos compatíveis com versões anteriores.
- Uma versão de patch contém pequenas alterações e correções de bugs.
Usando a versão 3.5.1 como exemplo, uma nova versão de cada tipo resultaria em estes números de versão:
- Maior: 4.0
- Menor: 3,6
- Patch: 3.5.2
Ciclo de lançamento do Bazel
O Bazel publica versões graduais continuamente. Cada versão principal é um LTS lançamento. Você pode seguir qualquer uma das cadências de lançamento: atualizando de uma LTS para a próxima ou atualizando a cada versão secundária.
A imagem mostra as versões contínuas e LTS, e o suporte esperado para cada um.
Figura 1. Versões graduais e LTS.
Liberar ramificações
Cada versão principal se torna uma ramificação de desenvolvimento separada no lançamento. Você pode receber correções de bugs críticos dessa ramificação sem precisar atualizar para a Versão do Bazel em início. Os recursos adicionais na ramificação da versão principal se tornam os lançamentos menores e a versão mais alta na ramificação é a versão com suporte.
Cada versão do Bazel é pareada com uma lista de versões de regras recomendadas que funcionam e há uma estrita compatibilidade com versões anteriores dentro de cada ramificação.
Lançamentos do LTS
Uma versão LTS é uma versão principal (como a 4.0) com suporte por três anos após o lançamento. Uma versão principal é lançada aproximadamente a cada nove meses.
O desenvolvimento contínuo em uma ramificação de lançamento resulta em versões secundárias.
É possível fixar seu projeto em uma versão principal e atualizar para uma mais recente versão em seu próprio ritmo. Assim, você tem tempo de visualizar as próximas mudanças e se adaptar a elas com antecedência.
Lançamentos contínuos
As versões graduais são cortadas periodicamente da ramificação principal do Bazel. Esta cadência de lançamento envolve a entrega contínua de versões de pré-lançamento do próxima versão principal do Bazel, que está sincronizada com o Blaze interno do Google. lançamentos.
Uma nova versão gradual pode conter alterações interruptivas que estão incompatíveis com versões anteriores.
As versões graduais são testadas no pacote de testes do Bazel na CI dele.
o pacote de testes internos do Google. É possível que as sinalizações incompatíveis sejam
são usados para aliviar o fardo de migrar para novas funcionalidades, mas os comportamentos padrão
pode mudar em qualquer versão gradual. Também é possível usar versões graduais para
visualizar a próxima versão do LTS. Por exemplo, 5.0.0-pre.20210604.6
é baseado em uma
foi cortada em 04/06/2021 e representa um marco em direção ao LTS 5.0
release.)
Faça o download da versão mais recente no GitHub. Como alternativa, configure Bazelisk v1.9.0 (link em inglês) (ou posterior) para usar um nome de versão específico ou o o identificador "rolling", que usa a versão gradual mais recente. Para mais mais detalhes, consulte a Documentação do Bazelisk.
Atualizar versões
- Para saber mais sobre como atualizar a versão do Bazel, consulte Como atualizar o Bazel.
- Para mais informações sobre como contribuir com atualizações para novas versões do Bazel, consulte Como contribuir com o Bazel.