Control de versiones de las versiones

Informar un problema Ver fuente Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Bazel 4.0 y versiones posteriores admiten dos pistas de lanzamiento: lanzamientos de compatibilidad a largo plazo (LTS) y lanzamientos continuos. En esta página, se abarca el control de versiones en Bazel, los tipos de versiones y los beneficios de esas versiones para los usuarios y colaboradores de Bazel.

Información sobre el control de versiones en Bazel

Bazel usa un esquema de control de versiones semántico major.minor.patch.

  • Una versión principal contiene funciones que no son compatibles con versiones anteriores.
  • Una versión secundaria contiene funciones nuevas que son retrocompatibles.
  • Una versión del parche contiene cambios menores y correcciones de errores.

Si se usa la versión 3.5.1 como ejemplo, una nueva versión de cada tipo generaría los siguientes números de versión:

  • Grave: 4.0
  • Menor: 3.6
  • Parche: 3.5.2

Ciclo de lanzamiento de Bazel

Bazel publica continuamente versiones continuas. Cada versión principal es una versión de LTS. Puedes optar por seguir cualquiera de las cadencias de lanzamiento: actualizar de una versión LTS a la siguiente o actualizar con cada lanzamiento de versión secundaria.

En la imagen, se muestran las versiones continuas y las LTS, y la compatibilidad esperada para cada una.

Hoja de ruta

Figura 1: Versiones continuas y LTS

Ramas de versiones

Cada versión principal se convierte en una rama de desarrollo independiente en el momento del lanzamiento. Puedes recibir correcciones para errores críticos en esa rama sin tener que actualizar a la versión principal de Bazel. Las funciones adicionales en la rama de la versión principal se convierten en versiones secundarias, y la versión más alta de la rama es la versión compatible.

Cada versión de Bazel se combina con una lista de versiones de reglas recomendadas que funcionan en conjunto, y hay una estricta retrocompatibilidad dentro de cada rama.

Versiones de LTS

Una versión LTS es una versión principal (como la 4.0) que se admite durante 3 años después de su lanzamiento. Se lanza una versión principal aproximadamente cada nueve meses.

El desarrollo continuo en una rama de lanzamiento genera versiones secundarias.

Puedes fijar tu proyecto a una versión principal y actualizarlo a una versión más reciente cuando lo desees. Esto te da tiempo para obtener una vista previa de los próximos cambios y adaptarte a ellos con anticipación.

Lanzamientos progresivos

Las versiones continuas se generan periódicamente a partir de la rama principal de Bazel. Esta cadencia de lanzamientos implica una entrega continua de versiones preliminares de la próxima versión principal de Bazel, que están sincronizadas con los lanzamientos internos de Blaze de Google.

Ten en cuenta que una nueva versión continua puede contener cambios rotundos que son incompatibles con las versiones anteriores.

Las versiones continuas se prueban en el conjunto de pruebas de Bazel en la CI de Bazel y en el conjunto de pruebas interno de Google. Las marcas incompatibles se pueden usar para facilitar la migración a funciones nuevas, pero los comportamientos predeterminados pueden cambiar con cualquier lanzamiento progresivo. (También puedes usar versiones continuas para obtener una vista previa de la próxima versión LTS. Por ejemplo, 5.0.0-pre.20210604.6 se basa en un corte candidato del 2021-06-04 y representa un hito hacia el lanzamiento de la versión 5.0 LTS.

Puedes descargar la versión continua más reciente desde GitHub. Como alternativa, puedes configurar Bazelisk v1.9.0 (o una versión posterior) para usar un nombre de versión específico o el identificador “rolling”, que usa la versión rolling más reciente. Para obtener más detalles, consulta la documentación de Bazelisk.

Actualizar versiones

  • Para obtener más información sobre cómo actualizar tu versión de Bazel, consulta Cómo actualizar Bazel.
  • Para obtener más información sobre cómo contribuir con actualizaciones a las versiones nuevas de Bazel, consulta Cómo contribuir a Bazel.