Autopilot
Entregue um pull request ao HeyDeer. O Autopilot corrige o que está pendente, envia para a branch do PR e revisa cada mudança até o PR ficar pronto para o merge ou precisar de você.
Requisitos
- O pull request está aberto, e a branch dele está no mesmo repositório, não em um fork.
- Você tem acesso de escrita ao repositório, e a configuração Quem pode solicitar revisões inclui você.
- O espaço de trabalho tem um plano pago. Consulte Planos.
- O HeyDeer tem acesso de leitura e escrita a Contents e Pull requests. Consulte GitHub App e permissões.
Iniciar e parar o Autopilot
Para iniciar o Autopilot, use uma destas opções:
- Selecione Autopilot na página da revisão no HeyDeer e depois Iniciar o Autopilot.
- Selecione o botão Autopilot no comentário de revisão do HeyDeer no GitHub e depois Iniciar o Autopilot no HeyDeer.
- Comente
@heydeer autopilotno PR.
Para pará-lo, selecione Parar o Autopilot na página dele no HeyDeer ou comente @heydeer autopilot stop. Iniciar o Autopilot de novo zera a contagem de rodadas e considera novas respostas e comentários.
Enquanto o Autopilot estiver em execução, você não pode iniciar uma correção nem solicitar uma revisão no PR; pare o Autopilot primeiro. O Autopilot não pode ser iniciado enquanto uma correção estiver em andamento.
O que o Autopilot corrige
| Item | O que inclui |
|---|---|
| Problemas encontrados | Problemas encontrados dentro do escopo do feedback do repositório e preocupações anteriores do HeyDeer que continuam em aberto, como a verificação HeyDeer Review os conta. |
| Solicitações | Conversas de revisão não resolvidas iniciadas por uma pessoa em que a última mensagem é de alguém com acesso de escrita, e comentários e textos de revisão que essas pessoas publicaram no PR depois da revisão a partir da qual o Autopilot começou. Enquanto o Autopilot está em execução, mencionar @heydeer no PR, inclusive nas conversas de revisão do próprio HeyDeer, faz o pedido ao Autopilot em vez de iniciar uma solicitação separada. |
| Verificações com falha | As verificações obrigatórias, quando suas regras de branch as definem; caso contrário, todas as verificações, exceto HeyDeer Review. |
| Conflitos de merge | O HeyDeer faz merge da branch base e resolve os conflitos. Ele nunca faz rebase nem force push, e não atualiza uma branch só porque ela está desatualizada. |
O Autopilot ignora comentários de bots e de pessoas sem acesso de escrita. O HeyDeer responde em cada conversa que tratou e pergunta ali quando uma solicitação precisa da decisão de uma pessoa.
O HeyDeer lê o título, o resumo e as anotações de cada verificação com falha e, em um job do GitHub Actions, o log da etapa que falhou. Ele reproduz a falha em uma sandbox isolada, onde edita o código e executa seus testes. Falhas que ele não consegue reproduzir continuam na lista do que ficou pendente. Ler logs exige a permissão Actions; sem ela, o HeyDeer trabalha com o restante. Consulte Segurança para saber como a execução de código é isolada.
Os commits do Autopilot não podem alterar arquivos em .github/workflows/. Um workflow alterado seria executado com os segredos do seu repositório antes que alguém o lesse.
Quando o Autopilot para
| Motivo | O que aconteceu |
|---|---|
| Pronto | Não há mais nada a corrigir. |
| Precisa da sua resposta | O HeyDeer fez uma pergunta em uma conversa ou na revisão, ou precisa que você confirme se uma preocupação anterior foi resolvida, e corrigiu todo o resto. Responda ali e depois inicie o Autopilot de novo. |
| Outra pessoa enviou mudanças | Qualquer push que não seja do HeyDeer, inclusive pelo botão Update branch do GitHub. O HeyDeer descarta a rodada em andamento e as revisões que estava segurando. |
| Limite de rodadas | O Autopilot executou 5 rodadas. |
| Sem progresso | Uma rodada não mudou nada e os mesmos itens continuam pendentes, duas rodadas seguidas não resolveram nada, ou tudo o que está pendente é algo que uma rodada disse precisar de uma pessoa. O comentário diz o que uma pessoa precisa fazer em cada item, como adicionar um segredo ou alterar um workflow. |
| As verificações não terminaram | As verificações ainda estavam em andamento depois de uma hora. |
| Fila de merge | O PR está na fila de merge, e um push o tiraria dela. |
| Push rejeitado | O GitHub rejeitou o push do HeyDeer, por exemplo porque uma regra de branch limita quem pode enviar para a branch. |
| Créditos ou plano | O espaço de trabalho ficou sem créditos ou não tem mais um plano pago. |
| Parado por alguém | Qualquer pessoa com acesso de escrita ao repositório pode pará-lo. |
| Acesso removido | A pessoa que iniciou o Autopilot não pode mais solicitar revisões no repositório. |
| O GitHub negou o acesso | O GitHub impediu o HeyDeer de ler ou atualizar o PR, por exemplo depois que o HeyDeer perdeu o acesso ao repositório. |
| O PR mudou | O PR foi fechado ou mesclado, ou a branch base dele mudou. |
| Incompleto | O HeyDeer não conseguiu concluir uma rodada ou a revisão do commit mais recente. |
O que o HeyDeer publica no GitHub
- Um comentário do Autopilot no PR, atualizado conforme ele avança: o que está fazendo agora e o que está corrigindo, com os commits de cada rodada concluída e no que ela trabalhou em Histórico. O HeyDeer oculta seus comentários anteriores do Autopilot como desatualizados.
- Commits na branch do PR e respostas nas conversas que ele tratou.
- A verificação HeyDeer Review, que fica em andamento enquanto o Autopilot está em execução.
- Quando o Autopilot para, a revisão do commit mais recente, a menos que outra pessoa tenha feito push ou o PR tenha mudado, e o resultado no comentário: por que parou e o que ainda precisa de você. Quando precisa de você, para uma resposta ou um problema que não conseguiu resolver, publica um novo comentário que menciona quem iniciou o Autopilot.
Os pushes do Autopilot não iniciam revisões automáticas, e o HeyDeer não solicita revisões a ninguém. Enquanto o Autopilot está em execução, os comentários de revisão do HeyDeer não mostram os botões Corrigir com HeyDeer e Autopilot.
A aprovação automática funciona normalmente na revisão que o HeyDeer publica. Para exigir a aprovação de uma pessoa depois dos pushes do HeyDeer, ative Require approval of the most recent reviewable push nas suas regras de branch. Consulte Aprovação automática.
Autopilot no HeyDeer lista todas as execuções nos repositórios que você pode ver. A página de cada execução mostra o status, o que ainda está pendente e os créditos usados, e cada rodada com o que ela tratou, seus commits e respostas, e o resumo do agente.
Créditos
A correção e a revisão de cada rodada usam créditos do espaço de trabalho como qualquer outra correção e revisão. O Autopilot não tem cobrança separada. Consulte Como funcionam os créditos.