Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

Administración de una cola de fusión mediante combinación

Puedes aumentar la velocidad de desarrollo con una cola de fusión mediante combinación para las solicitudes de incorporación de cambios en el repositorio.

Quién puede usar esta característica

People with admin permissions can manage merge queues for pull requests targeting selected branches of a repository.

Las colas de combinación de solicitudes de incorporación de cambios están disponibles en cualquier repositorio público propiedad de una organización, o bien en repositorios privados propiedad de organizaciones que usan GitHub Enterprise Cloud. Para más información, consulta "Productos de GitHub".

Nota: La característica de cola de combinación de solicitudes de incorporación de cambios se encuentra actualmente en versión beta pública y está sujeta a cambios.

Acerca de las colas de fusión mediante combinación

Una cola de combinación puede aumentar la velocidad a la que se combinan las solicitudes de incorporación de cambios en una rama de destino muy activa, a la vez que garantiza que se superen todas las comprobaciones de protección de rama necesarias.

Una vez que una solicitud de incorporación de cambios ha superado todas las comprobaciones de protección de rama necesarias, un usuario con acceso de escritura al repositorio puede agregar esa solicitud de incorporación de cambios a una cola de combinación.

Un cola de combinación puede usar GitHub Actions. Para obtener más información, vea «Documentación de GitHub Actions».

La cola de fusión mediante combinación crea ramas temporales con un prefijo especial para validar los cambios de la solicitud de incorporación de cambios. Los cambios en la solicitud de incorporación de cambios se agrupan en un merge_group con la versión más reciente de base_branch, así como los cambios anteriores en la cola. GitHub combinará todos estos cambios en base_branch una vez que se superen las comprobaciones necesarias para las protecciones de rama de base_branch.

Para más información sobre los métodos de fusión mediante combinación, consulta "Acerca de las fusiones de las solicitudes de extracción".

Notas:

  • No se puede habilitar una cola de fusión mediante combinación con reglas de protección de rama en las que se usan caracteres comodín (*) en el patrón de nombre de rama.
  • Una cola de fusión mediante combinación esperará a que se notifiquen las comprobaciones necesarias para poder continuar con la combinación. Debes actualizar la configuración de CI para desencadenar e informar eventos de grupos de combinación cuando se requiere una cola de fusión mediante combinación.

Después de agrupar una solicitud de incorporación de cambios con la versión más reciente de la rama de destino y los cambios anteriores en la cola, si hay comprobaciones de estado necesarias con errores o conflictos con la rama base, GitHub quitará la solicitud de incorporación de cambios de la cola. La línea de tiempo de la solicitud de incorporación de cambios mostrará el motivo por el que esa solicitud se ha eliminado de la cola.

Desencadenamiento de comprobaciones del grupo de fusión mediante combinación con GitHub Actions

Puedes usar el evento merge_group para desencadenar tu flujo de trabajo de GitHub Actions cuando se agrega una solicitud de incorporación de cambios a una cola de fusión. Ten en cuenta que se trata de un evento diferente a los eventos pull_request y push.

Nota: Si el repositorio usa GitHub Actions para realizar comprobaciones necesarias en las solicitudes de incorporación de cambios del repositorio, debes actualizar los flujos de trabajo para incluir el evento merge_group como un desencadenador adicional. De lo contrario, las comprobaciones de estado no se desencadenarán al agregar una solicitud de incorporación de cambios a una cola de fusión. Se producirá un error en la fusión mediante combinación, ya que no se notificará la comprobación de estado necesaria.

Un flujo de trabajo que informa de una comprobación requerida por las protecciones de la rama de destino tendría este aspecto:

on:
  pull_request:
  merge_group:

Para obtener más información, vea «Eventos que desencadenan flujos de trabajo».

Desencadenamiento de comprobaciones del grupo de fusión mediante combinación con otros proveedores de CI

Con otros proveedores de CI, es posible que tengas que actualizar tu configuración de CI para que se ejecute cuando se crea una rama que comience con el prefijo especial gh-readonly-queue/{base_branch}.

Administración de una cola de fusión mediante combinación

Los administradores del repositorio pueden exigir una combinación si habilitan el valor de protección de rama "Requerir cola de combinación" en las reglas de protección de la rama base. Para obtener más información, vea «Administrar una regla de protección de rama».

Una vez que hayas habilitado "requerir cola de combinación", también puedes acceder a los siguientes valores de configuración:

  • Método de combinación: selecciona el método que se va a usar al combinar solicitudes de incorporación de cambios en cola: fusión mediante combinación, fusión mediante cambio de base o fusión mediante combinación con "squash".

  • Simultaneidad de compilación: selecciona el número máximo de solicitudes de incorporación de cambios que se van a compilar (entre 1 y 100). Este valor limita el número de solicitudes de incorporación de cambios en cola que pueden ejecutar comprobaciones de CI al mismo tiempo.

  • Límites de combinación: selecciona el número mínimo y máximo de solicitudes de incorporación de cambios que se van a combinar en un único grupo (entre 1 y 100) y un tiempo de espera después del cual la cola debe dejar de esperar más entradas y realizar la combinación con menos del número mínimo de solicitudes de incorporación de cambios.

  • Solo combinar solicitudes de incorporación de cambios sin errores: este valor determina la forma en que la cola de combinación forma grupos de solicitudes de incorporación de cambios que se van a combinar.

    Si se selecciona, solo se pueden agregar a un grupo las solicitudes de incorporación de cambios que superan las comprobaciones de CI necesarias. Esto puede ser útil si quieres mantener un historial en el que cada confirmación se encuentre en un estado correcto o si ejecutas diferentes conjuntos de comprobaciones para diferentes solicitudes de incorporación de cambios.

    Si no se selecciona, las solicitudes de incorporación de cambios que han producido errores en las comprobaciones necesarias pueden agregarse a un grupo, siempre y cuando la última solicitud de incorporación de cambios del grupo haya superado las comprobaciones necesarias. Si la última solicitud de incorporación de cambios del grupo ha superado las comprobaciones necesarias, esto significa que se han superado las comprobaciones para el conjunto combinado de cambios del grupo de combinación. Podría ser útil dejar esta casilla sin seleccionar si se producen errores intermitentes en las pruebas, pero no quieres que los falsos negativos interrumpan la cola.

  • Tiempo de espera de comprobación de estado: elige durante cuánto tiempo debe la cola esperar una respuesta de CI antes de suponer que se ha producido un error en las comprobaciones.

Información adicional