Você pode bloquear solicitações de pull que não atendem aos seus padrões de qualidade de código adicionando Code Quality limites a um conjunto de regras. Se uma solicitação de pull não atingir um limite, ela não poderá ser mesclada.
Você pode definir limites para:
- CodeQL descobertas, pela menor gravidade dos resultados que você precisa resolver.
- Cobertura de código, pelo percentual mínimo de código que deve ser coberto por testes.
Você pode impor esses limites no nível do repositório ou no nível da organização para aplicar o mesmo padrão em muitos repositórios ao mesmo tempo. Escolha o nível da organização quando quiser uma barra de qualidade consistente entre as equipes e o nível do repositório quando um único projeto precisar de seu próprio padrão. Code Quality As detecções de IA não podem ser definidas como um limite.
Pré-requisitos
- Code Quality está habilitado. Confira Habilitando o GitHub Code Quality
- Código em um idioma com suporte. Consulte os idiomas com suporte.
Observação
O limite só terá impacto se o repositório tiver código em um ou mais dos idiomas com suporte, consulte Habilitando o GitHub Code Quality.
Confirmando que Code Quality é executado com êxito em pull requests
Antes de adicionar ou atualizar um conjunto de regras para incluir um limite para Code Quality, confirme se o fluxo de trabalho Qualidade do Código está em execução e enviando os resultados de volta para as pull requests. Caso contrário, o conjunto de regras poderá bloquear a mesclagem de todas as solicitações de pull.
- Abra uma solicitação de pull recente e role até o resumo "Verificações" na parte inferior da solicitação de pull.
- Confirme se a verificação "CodeQL – Qualidade do Código" foi executada com êxito e informou seu status.
Para saber mais, confira Análise do CodeQL para Qualidade de Código.
Adicionando ou atualizando um conjunto de regras para incluir Code Quality
As etapas a seguir criam ou atualizam um conjunto de regras no nível do repositório. Para aplicar o mesmo limiar a vários repositórios de uma só vez, crie um conjunto de regras organizacional com a mesma regra Exigir resultados de qualidade do código, em vez disso. Confira Criar conjuntos de regras para repositórios na sua organização.
- Navegue até a guia "Configurações" do repositório.
- Na barra lateral esquerda, em "Código e automação", expanda Regras e clique em Conjuntos de Regras.
- Se você ainda não tiver um conjunto de regras para proteger seu branch padrão, expanda Novo conjunto de regras e clique em Novo conjunto de regras de branch. Como alternativa, abra o conjunto de regras existente para o branch padrão e prossiga para a etapa 5.
- Se você estiver criando um novo conjunto de regras:
- Defina um nome para o conjunto de regras.
- Defina o "status de imposição" como "Ativo".
- Em "Ramificações de destino", adicione como alvo "Incluir ramificação padrão".
- Em "Regras de ramo", habilite "Exigir resultados de qualidade de código".
- Defina "Severidade" para estabelecer o nível mínimo de severidade dos resultados de qualidade de código que devem ser resolvidos antes que uma solicitação de pull possa ser mesclada na ramificação padrão. Por exemplo:
- Defina "Erros" para bloquear solicitações de pull quando houver erros de qualidade de código não resolvidos sendo mesclados.
- Defina "Avisos e superiores" para bloquear solicitações de pull com avisos ou erros de qualidade de código não resolvidos sendo mesclados.
- Defina "Observações e superiores" para bloquear solicitações de pull com observações, avisos ou erros de qualidade de código não resolvidos sendo mesclados.
- Defina "Todos" para bloquear solicitações de pull que tenham qualquer resultado de qualidade de código não resolvido ao serem mescladas.
- Quando terminar de definir ou editar o conjunto de regras, clique em Criar ou Salvar alterações.
Definindo um limite de cobertura de código
Você também pode bloquear solicitações de pull que estão abaixo de um limite de cobertura de código. Isso usa uma regra separada de Restringir cobertura de código, não a regra Exigir resultados de qualidade do código usada acima, e seu repositório deve enviar os dados de cobertura de código primeiro. Para o procedimento completo, consulte Definindo limites de cobertura de código para solicitações de pull.
Próximas etapas
Saiba como GitHub Code Quality funciona em solicitações de pull para impedir que problemas de qualidade de código atinjam seu branch padrão. Confira Impedindo que problemas de qualidade de código atinjam seu branch padrão.