En esta página, se describe cómo los colaboradores pueden proponer y realizar cambios en la base de código de Bazel.
- Lee la política de contribuciones de Bazel.
- Crea un problema de GitHub para hablar sobre tu plan y diseño. Las solicitudes de extracción que cambian o agregan comportamiento necesitan un problema correspondiente para el seguimiento.
- Si propones cambios significativos, escribe un documento de diseño.
- Asegúrate de haber firmado un Contrato de Licencia para Colaboradores.
- Prepara una confirmación de git que implemente la función. No olvides agregar pruebas y actualizar la documentación. Si el cambio tiene efectos visibles para el usuario, agrega notas de la versión. Si es un cambio incompatible, lee la guía para lanzar cambios rotundos.
- Crea una solicitud de extracción en GitHub. Si eres nuevo en GitHub, consulta acerca de las solicitudes de extracción. Ten en cuenta que restringimos los permisos para crear ramas en el repositorio principal de Bazel, por lo que deberás enviar la confirmación a tu propia bifurcación del repositorio.
- Un encargado de Bazel debería asignarte un revisor en un plazo de dos días hábiles (sin contar los feriados en EE.UU. y Alemania). Si no se te asigna un revisor durante ese tiempo, puedes solicitar uno. Para ello, envía un correo electrónico a bazel-discuss@googlegroups.com.
- Trabaja con el revisor para completar una revisión de código. Para cada cambio, crea una confirmación nueva y envíala para realizar cambios en tu solicitud de extracción. Si la revisión toma demasiado tiempo (por ejemplo, si el revisor no responde), envía un correo electrónico a bazel-discuss@googlegroups.com.
Una vez que se completa la revisión, un encargado de mantenimiento de Bazel aplica tu parche al sistema de control de versión interno de Google.
Esto activa verificaciones internas previas al envío que pueden sugerir más cambios. Si no expresaste una preferencia, el encargado de enviar tu cambio agregará cambios "triviales" (como linting) que no afectan el diseño. Si se requieren cambios más profundos o prefieres aplicarlos directamente, tú y el revisor deben comunicar las preferencias con claridad en los comentarios de la revisión.
Después del envío interno, el parche se exporta como una confirmación de Git, y, en ese momento, se cierra la solicitud de extracción de GitHub. Todos los cambios finales se te atribuyen a ti.