Skip to main content

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.

Who can use this feature

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

Note: The pull request merge queue feature is currently in limited public beta and subject to change.

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ção:

  • 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.

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 mesclagem habilitando a configuração de proteção de branch "Exigir fila de mesclagem" nas regras de proteção do branch base.

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