Controle de versão de lançamento

Reportar um problema Ver código-fonte Nightly · 8.0 . 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

O Bazel 4.0 e versões mais recentes oferecem suporte a duas faixas de lançamento: versões de suporte a longo prazo (LTS) e versões contínuas. Esta página aborda o controle de versão no Bazel, os tipos de versões e os benefícios delas para usuários e colaboradores do Bazel.

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 a versão anterior.
  • Uma versão secundária contém novos recursos compatíveis com versões anteriores.
  • Uma versão do patch contém mudanças menores e correções de bugs.

Usando a versão 3.5.1 como exemplo, uma nova versão de cada tipo resultaria nestes números de versão:

  • Grave: 4.0
  • Menor: 3.6
  • Patch: 3.5.2

Ciclo de lançamento do Bazel

O Bazel publica lançamentos contínuos. Cada versão principal é uma versão LTS. Você pode escolher seguir a cadência de lançamentos, atualizando de uma versão LTS para a próxima ou atualizando com cada versão secundária.

A imagem mostra as versões contínuas e LTS e o suporte esperado para cada uma delas.

Roteiro

Figura 1. Lançamentos contínuos e LTS.

Ramificações de lançamento

Cada versão principal se torna uma ramificação de desenvolvimento separada no lançamento. É possível receber correções de bugs críticos nessa ramificação sem precisar atualizar para a versão mais recente do Bazel. Os recursos adicionais na sua ramificação de versão principal se tornam versões secundárias, e a versão mais recente na ramificação é a versão com suporte.

Cada versão do Bazel é associada a uma lista de versões de regras recomendadas que funcionam juntos, e há compatibilidade estrita com versões anteriores em cada ramificação.

Versões LTS

Uma versão LTS é uma versão principal (como 4.0) que tem 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.

Você pode fixar seu projeto em uma versão principal e atualizar para uma versão mais recente no seu próprio tempo. Assim, você tem tempo para conferir as próximas mudanças e se adaptar a elas com antecedência.

Lançamentos contínuos

As versões contínuas são cortadas periodicamente da ramificação principal do Bazel. Essa cadência de lançamentos envolve um envio contínuo de versões de pré-lançamento da próxima versão principal do Bazel, que são sincronizadas com as versões internas do Blaze do Google.

Uma nova versão gradual pode conter alterações interruptivas que são incompatíveis com as versões anteriores.

As versões contínuas são testadas no conjunto de testes do Bazel na CI do Bazel e no conjunto de testes interno do Google. Flags incompatíveis podem ser usadas para facilitar a migração para uma nova funcionalidade, mas os comportamentos padrão podem mudar com qualquer lançamento contínuo. Você também pode usar as versões graduais para visualizar a próxima versão LTS. Por exemplo, 5.0.0-pre.20210604.6 é baseado em um corte de candidato em 04-06-2021 e representa um marco para a versão LTS 5.0.

Faça o download da versão mais recente no GitHub. Como alternativa, é possível configurar o Bazelisk v1.9.0 (ou mais recente) para usar um nome de versão específico ou o identificador "rolling", que usa a versão rolling mais recente. Para mais detalhes, consulte a documentação do Bazelisk (em inglês).

Atualizar versões