Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais atualizadas, acesse a documentação em inglês.

Como gerenciar uma fila de mesclagem

É possível aumentar a velocidade de desenvolvimento com uma mesclagem das filas para pull requests no seu repositório.

Quem pode usar esse recurso

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

Observação: atualmente, o recurso de fila de mesclagem da solicitação de pull está em versão beta pública limitada e sujeito a alterações.

Sobre as filas de mesclagem

Uma fila de mesclagem pode aumentar a velocidade na qual as solicitações de pull são mescladas em um branch de destino ocupado, garantindo que todas as verificações de proteção de branch obrigatórias sejam aprovadas.

Depois que uma solicitação de pull tiver sido aprovada por todas as verificações de proteção de branch obrigatórias, um usuário com acesso de gravação no repositório poderá adicionar essa solicitação de pull a uma fila de mesclagem.

Uma fila de mesclagem poderá usar o GitHub Actions. Para obter mais informações, confira "GitHub Actions".

A fila de mesclagem cria branches temporários com um prefixo especial para validar as alterações da solicitação de pull. Em seguida, as alterações na solicitação de pull são agrupadas em um merge_group com a última versão do base_branch, bem como as alterações à frente dela na fila. O GitHub mesclará todas essas alterações no base_branch depois que as verificações exigidas pelas proteções de branch do base_branch forem aprovadas.

Para obter informações sobre os métodos de mesclagem, confira "Sobre as mesclagens de solicitações de pull".

Observações:

  • Uma fila de mesclagem não pode ser habilitada com regras de proteção de branch que usam caracteres curinga (*) no padrão de nome do branch.
  • Uma fila de mesclagem aguardará até que as verificações necessárias sejam relatadas antes de prosseguir com a mesclagem. É necessário atualizar sua configuração de CI a fim de disparar e relatar eventos do grupo de mesclagem ao exigir uma fila de mesclagem.

Após o agrupamento de uma solicitação de pull com a última versão do branch de destino e as alterações à frente dela na fila, se houver verificações de status obrigatórias com falha ou conflitos com o branch base, o GitHub removerá a solicitação de pull da fila. A linha do tempo da solicitação de pull exibirá o motivo pelo qual ela foi removida da fila.

Disparando verificações de grupo de mesclagem com GitHub Actions

Você pode usar o evento do merge_group para disparar o fluxo de trabalho GitHub Actions quando uma solicitação de pull é adicionada a uma fila de mesclagem. Observe que esse é um evento diferente dos eventos de pull_request e push.

Um fluxo de trabalho que relata uma verificação exigida pelas proteções do branch de destino seria semelhante a este:

on:
  pull_request:
  merge_group:

Para obter mais informações, confira "Eventos que disparam fluxos de trabalho"

Disparar verificações de grupo de mesclagem com outros provedores de CI

Com outros provedores de CI, talvez seja necessário atualizar sua configuração de CI para ser executada quando um branch que começa com o prefixo gh-readonly-queue/{base_branch} especial for criado.

Como gerenciar uma fila de mesclagem

Os administradores do repositório podem exigir uma fila de mesclagem habilitando a configuração de proteção de branch "Exigir fila de mesclagem" nas regras de proteção do branch base.

Sobre a configuração de tamanho do grupo de mesclagem

É possível configurar o tamanho do grupo de mesclagem de uma fila de mesclagem, que determina quantas solicitações de pull são incluídas em cada grupo de mesclagem. Quando não houver falhas de verificação de status ou conflitos de mesclagem, a escolha do tamanho "pequeno" padrão para o grupo de mesclagem formará grupos contendo duas solicitações de pull. Para agrupar mais solicitações de pull por grupo, escolha o tamanho "médio" para o grupo de mesclagem a fim de formar grupos contendo cinco solicitações de pull cada.

Para obter informações sobre como habilitar a configuração de proteção de fila de mesclagem, confira "Como gerenciar uma regra de proteção de branch".

Leitura adicional