Bazel mantiene un modelo de lanzamiento de compatibilidad a largo plazo (LTS), en el que se lanza una versión principal cada nueve meses y las versiones secundarias se lanzan mensualmente. En esta página, se describe la política de lanzamiento de Bazel, incluidas las versiones candidatas, los cronogramas, los anuncios y las pruebas.
Puedes encontrar las versiones de Bazel en GitHub.
Versiones candidatas
Por lo general, se crea una versión candidata para una versión nueva de Bazel al comienzo de cada mes. Se realiza un seguimiento del trabajo mediante un error de lanzamiento en GitHub que indica una fecha de lanzamiento objetivo y se asigna al administrador de lanzamientos actual. Las versiones candidatas deben aprobar todas las pruebas de unidades de Bazel y no mostrar regresión no deseada en los proyectos probados en Buildkite.
Las versiones candidatas se anuncian en bazel-discuss. En los próximos días, el equipo de Bazel supervisará los informes de errores de la comunidad en busca de cualquier regresión en los candidatos.
Lanzamiento
Si no se descubren regresiones, la versión candidata se lanza oficialmente después de una semana. Sin embargo, las regresiones pueden retrasar el lanzamiento de una versión candidata. Si se encuentran regresiones, el equipo de Bazel aplica las selecciones correspondientes a la versión candidata 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, se lanza la versión candidata.
Las funciones nuevas no se seleccionan en una versión candidata después de que se corta. Además, si una función nueva tiene errores, es posible que se revierta desde una versión candidata. Solo los errores que tienen el potencial de afectar o dañar mucho la compilación de lanzamiento se corrigen en una versión candidata después de que se corta.
Una versión solo se lanza en un día en el que el siguiente sea un día hábil.
Si se encuentra un problema crítico en la versión más reciente, el equipo de Bazel crea una versión con parches aplicando la corrección a la versión. Como este parche actualiza una versión existente en lugar de crear una nueva, la versión candidata 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 objetos binarios de Bazel compilados en la parte superior y objetos binarios de lanzamiento. Se notificará a los proyectos que se verán afectados por un cambio drástico.
Cuando se publica una versión candidata, otros proyectos de Google, como TensorFlow, se prueban en su conjunto de pruebas completo con los objetos binarios de la versión candidata. Si tienes un proyecto fundamental que usa Bazel, te recomendamos que establezcas un proceso de pruebas automatizadas que supervise la versión candidata actual y que informe cualquier regresión.