Bazel mantiene un modelo de lanzamiento de asistencia a largo plazo (LTS), en el que se lanza una versión principal cada nueve meses y versiones secundarias mensualmente. En esta página, se aborda la política de lanzamiento de Bazel, incluidas las versiones candidatas para lanzamiento, los cronogramas, los anuncios y las pruebas.
Los lanzamientos de Bazel se pueden encontrar en GitHub.
Versiones candidatas para lanzamiento
Por lo general, se crea una versión candidata para lanzamiento de una versión nueva de Bazel al comienzo de cada mes. El trabajo se realiza con un error de lanzamiento en GitHub que indica una fecha de lanzamiento objetivo y se asigna al administrador de lanzamientos actual. Las versiones candidatas para lanzamiento deben pasar todas las pruebas de unidades de Bazel y no mostrar ninguna regresión no deseada en los proyectos probados en Buildkite.
Las versiones candidatas para lanzamiento se anuncian en bazel-discuss. En los próximos días, el equipo de Bazel supervisará los informes de errores de la comunidad para detectar cualquier regresión en los candidatos.
Cómo desatar
Si no se descubren regresiones, la versión candidata para lanzamiento se lanza oficialmente después de una semana. Sin embargo, las regresiones pueden retrasar el lanzamiento de una versión candidata para lanzamiento. Si se encuentran regresiones, el equipo de Bazel aplica las selecciones de confirmación correspondientes a la versión candidata para lanzamiento para corregirlas. Si no se encuentran más regresiones durante dos días hábiles consecutivos a partir de una semana después de la primera versión candidata para lanzamiento, se lanza la versión candidata para lanzamiento.
No se seleccionan funciones nuevas en una versión candidata para lanzamiento después de que se corta. Además, si una función nueva tiene errores, es posible que se revierta de una versión candidata para lanzamiento. Solo se corrigen los errores que tienen el potencial de afectar o interrumpir en gran medida la compilación de lanzamiento en una versión candidata para lanzamiento después de que se corta.
Una versión solo se lanza en un día en el que el día siguiente es un día hábil.
Si se encuentra un problema crítico en la versión más reciente, el equipo de Bazel crea un lanzamiento de parche aplicando la corrección a la versión. Debido a que este parche actualiza una versión existente en lugar de crear una nueva, la versión candidata para lanzamiento del parche se puede lanzar después de dos días hábiles.
Prueba
Se ejecuta una compilación nocturna de todos los proyectos que se ejecutan en ci.bazel.build con los objetos binarios de Bazel compilados en el encabezado y los objetos binarios de lanzamiento. Se notifica a los proyectos que se verán afectados por un cambio rotundo.
Cuando se emite una versión candidata para lanzamiento, se prueban otros proyectos de Google, como TensorFlow, en su conjunto de pruebas completo con los objetos binarios de la versión candidata para lanzamiento. Si tienes un proyecto crítico que usa Bazel, te recomendamos que establezcas un proceso de pruebas automatizado que haga un seguimiento de la versión candidata para lanzamiento actual y que informe cualquier regresión.