Control de versiones de las versiones

Informar un problema Ver código fuente Nightly · 8.0 · 7.4 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Bazel 4.0 y versiones posteriores admiten dos segmentos de lanzamiento: las versiones de compatibilidad a largo plazo (LTS) y las versiones continuas. En esta página, se explica el control de versiones en Bazel, los tipos de lanzamientos y los beneficios de esos lanzamientos 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 retrocompatibles con la versión anterior.
  • Una versión menor contiene nuevas funciones retrocompatibles.
  • Una versión del parche contiene cambios menores y correcciones de errores.

Tomando la versión 3.5.1 como ejemplo, una nueva versión de cada tipo generaría estos números de versión:

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

Ciclo de lanzamiento de Bazel

Bazel publica lanzamientos continuos de forma continua. Cada versión principal es una versión LTS. Puedes seguir cualquiera de las cadencias de lanzamiento: actualizar de una versión LTS a la siguiente o actualizar con cada versión secundaria.

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

Hoja de ruta

Figura 1: Lanzamientos continuos y de LTS

Ramas de lanzamiento

Cada versión principal se convierte en una rama de desarrollo independiente cuando se lanza. Puedes recibir correcciones de errores críticos en esa rama sin tener que actualizar a la versión de Bazel en la parte superior. Las funciones adicionales de tu rama de versión principal se convierten en versiones menores, y la versión más alta de la rama es la versión compatible.

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

Versiones LTS

Una versión LTS es una versión principal (como 4.0) que es compatible 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 quieras. Esto te da tiempo para obtener una vista previa de los próximos cambios y adaptarte a ellos con anticipación.

Lanzamientos continuos

Las versiones continuas se cortan periódicamente 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 las versiones internas de Blaze de Google.

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

Las versiones continuas se prueban en el paquete de pruebas de Bazel en Bazel CI y en el paquete de pruebas interno de Google. Se pueden usar marcas incompatibles para facilitar la migración a una funcionalidad nueva, pero los comportamientos predeterminados pueden cambiar con cualquier versión incremental. (También puedes usar versiones continuas para obtener una versión preliminar de la próxima versión LTS. Por ejemplo, 5.0.0-pre.20210604.6 se basa en una versión candidata del 4/6/2021 y representa un hito hacia la versión LTS 5.0.

Puedes descargar la versión continua más reciente desde GitHub. Como alternativa, puedes configurar Bazelisk v1.9.0 (o versiones posteriores) para usar un nombre de versión específico o el identificador “rolling”, que usa la versión continua 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 nuevas versiones de Bazel, consulta Cómo contribuir a Bazel.