Todos os casos de uso

Faça merge automático dos PRs de release em um cronograma

Diga ao Zero quando publicar os PRs de release e quais pular. Ele roda as verificações no seu ritmo, pula as alterações arriscadas e faz o merge das demais automaticamente.

O Zero conecta:GitHubSlack

O que o Zero entrega

Qual é o problema

Um novo PR de release abre sempre que sua branch principal acumula commits suficientes - na maioria das equipes, isso acontece uma ou duas vezes por dia. Alguém precisa dar uma olhada no diff, confirmar que a CI está verde, decidir se o changelog contém algo assustador, clicar em Mesclar e então acompanhar o deploy. Se essa pessoa estiver em uma reunião, dormindo ou em outro continente, o release fica parado. Os commits continuam se empilhando, o changelog cresce e o merge fica mais arriscado. Você diz ao Zero uma única vez - rode a verificação de release uma vez por dia útil, pule os arriscados, faça o merge no horário de trabalho, poste no canal de release - e a partir daí, a publicação acontece sozinha, no relógio da sua equipe.

Como o Zero resolve

Passo 1: conecte suas ferramentas

GitHub
GitHub
Obrigatório
GitHub - o Zero lista os PRs de release, inspeciona as alterações de arquivo, confirma o status da CI e ativa o merge automático. É necessário acesso de escrita ao repositório para que o Zero possa disparar o merge.
Conectar
Slack
Slack
Obrigatório
Slack - o Zero usa sua conexão com o Slack para anunciar merges, sinalizar PRs pulados e escalar os arriscados. Sem o Slack, o Zero ainda consegue mesclar, mas não tem onde reportar.
Conectar

Passo 2: peça ao Zero

@Zero todo dia útil às 15h, verifique nosso repositório em busca de um PR de release aberto. Se ele não tiver arquivos de migração de banco de dados, ative o merge automático com squash para que seja publicado assim que a CI passar - e poste uma atualização no #release-notify.
O Zero verifica os PRs de release no seu ritmo
O Zero roda no cronograma que você definir - uma vez por dia útil para a maioria das equipes, de hora em hora para as de alta cadência - e consulta o GitHub em busca de PRs de release abertos na sua branch padrão. Fora dessa janela, ele não faz nada. Sem merges fora de horário, sem surpresas no fim de semana.
O Zero avalia cada PR contra suas regras de segurança
O Zero lê a lista de arquivos do PR. Se algum arquivo corresponder a um caminho sensível que você sinalizou (migrações, infra, billing), ele pula o merge e avisa no canal para que um humano decida. Caso contrário, ele confirma que as verificações de CI obrigatórias estão passando.
O Zero ativa o merge automático e reporta o resultado
Para os PRs que passam na política, o Zero roda `gh pr merge --auto --squash` para que o PR seja publicado assim que a CI ficar verde. Quando o merge é concluído, o Zero posta uma linha de status compacta de volta no seu canal de release.

Passo 3: leve mais longe

Aperte a política na hora
Adicione novas regras sem mexer no código.
@Zero a partir de agora, pule qualquer PR de release cujo changelog mencione `infra` ou `billing`.
Escale os arriscados
Peça ao Zero para sinalizar - não mesclar - os PRs que ele normalmente pularia.
@Zero quando você encontrar um PR de release com um arquivo de migração, abra uma thread no #dev marcando o @oncall com o link do diff.
Aumente a cadência quando estiver pronto
Passe de diário para várias vezes ao dia assim que a política tiver se provado.
@Zero a partir da semana que vem, rode a verificação de merge automático de release duas vezes ao dia - uma de manhã, uma depois do almoço - em vez de só às 15h.

Dicas para melhores resultados

Comece com uma verificação por dia e aumente a cadência só depois que a política tiver conquistado confiança. O diário dá à equipe um ritmo de publicação previsível sem a sensação de vigilância.
Codifique suas regras de release não escritas no prompt. 'Pular migrações' é óbvio; 'pausar merges durante janelas de demonstração' ou 'nunca publicar nas tardes de sexta' são as regras silenciosas que o Zero deveria conhecer.
Encadeie isso com um resumo diário de engenharia para que seu relatório matinal comece com 'o release de ontem foi publicado, N commits nele, M PRs ainda na fila'. Combine publicação autônoma com relatórios visíveis.