Skip to main content

Establecimiento de umbrales de calidad de código para solicitudes de incorporación de cambios

Aplique automáticamente los estándares de calidad del código bloqueando las solicitudes de incorporación de cambios que se encuentran por debajo de los umbrales establecidos, en el nivel de repositorio o organización.

¿Quién puede utilizar esta característica?

Propietarios de repositorios, propietarios de la organización y usuarios con el rol de administrador

GitHub Team o GitHub Enterprise Cloud

Puede bloquear las solicitudes de incorporación de cambios que no cumplan los estándares de calidad del código agregando Code Quality umbrales a un conjunto de reglas. Si una solicitud de extracción no alcanza un umbral, no se puede fusionar.

Puede establecer umbrales para:

  • CodeQL hallazgos, según la gravedad mínima de los hallazgos cuya resolución exija.
  • Cobertura de código, según el porcentaje mínimo de código que deben cubrir las pruebas.

Puede aplicar estos umbrales en el nivel de repositorio o en el nivel de organización para aplicar el mismo estándar en muchos repositorios a la vez. Elija el nivel de organización cuando desee una barra de calidad coherente entre equipos y el nivel de repositorio cuando un solo proyecto necesite su propio estándar. Code Quality Las detecciones de IA no se pueden establecer como umbral.

Prerrequisitos

Nota:

El umbral solo tendrá un impacto si el repositorio tiene código en uno o varios de los idiomas admitidos, consulte Habilitar GitHub Code Quality.

Confirmar que Code Quality se ejecuta correctamente en las solicitudes de extracción

Antes de añadir o actualizar un conjunto de reglas para incluir un umbral para Code Quality, confirma que el flujo de trabajo de Calidad del código se está ejecutando y envía los resultados a las pull requests. De lo contrario, el conjunto de reglas podría bloquear la combinación de todas las solicitudes de incorporación de cambios.

  1. Abra una solicitud de incorporación de cambios reciente y desplácese hasta el resumen "Comprobaciones" en la parte inferior de la solicitud de incorporación de cambios.
  2. Confirme que la comprobación "CodeQL: calidad del código" se ejecutó correctamente y notificó su estado.

Para más información, consulta Análisis con tecnología CodeQL para la calidad del código.

Añadir o actualizar un conjunto de reglas para incluir Code Quality

Los pasos siguientes crean o actualizan un conjunto de reglas en el nivel de repositorio. Para aplicar el mismo umbral entre varios repositorios a la vez, cree un conjunto de reglas de organización con la misma regla Requerir resultados de calidad de código en su lugar. Consulta Creación de conjuntos de reglas para repositorios de la organización.

  1. Vaya a la pestaña "Configuración" del repositorio.
  2. En la barra lateral izquierda, en «Código y automatización», expanda Reglas y, a continuación, haga clic en Conjuntos de reglas.
  3. Si aún no tiene un conjunto de reglas para proteger la rama predeterminada, expanda Nuevo conjunto de reglas y haga clic en Nuevo conjunto de reglas de rama. Como alternativa, abra el conjunto de reglas existente para la rama predeterminada y vaya al paso 5.
  4. Si va a crear un nuevo conjunto de reglas:
    • Defina un nombre para el conjunto de reglas.
    • Establezca "Estado de cumplimiento" en "Activo".
    • En "Ramas de destino", agregue un destino de "Incluir rama predeterminada".
  5. En "Reglas de rama", habilite "Requerir resultados de calidad de código".
  6. Establezca "Gravedad" para definir el nivel más bajo de gravedad de los resultados de calidad del código que se deben resolver antes de que un pull request pueda fusionarse en la rama predeterminada. Por ejemplo:
    • Establezca "Errores" para bloquear las solicitudes de incorporación de cambios con errores de calidad de código no resueltos que se están fusionando.
    • Establezca "Advertencias y superior" para bloquear las solicitudes de incorporación de cambios con advertencias o errores de calidad de código sin resolver que se están fusionando.
    • Establezca "Notas y superior" para bloquear las solicitudes de incorporación de cambios con notas, advertencias o errores de calidad de código sin resolver que se están fusionando.
    • Establezca "Todo" para bloquear las solicitudes de incorporación de cambios con cualquier resultado de calidad de código sin resolver que se estén fusionando.
  7. Cuando haya terminado de definir o editar el conjunto de reglas, haga clic en Crear o Guardar cambios.

Establecimiento de un umbral de cobertura de código

También puede bloquear las solicitudes de incorporación de cambios que se encuentran por debajo de un umbral de cobertura de código. Esto usa una regla de restricción de cobertura de código independiente, no la regla Requerir resultados de calidad de código usada anteriormente y el repositorio debe cargar primero los datos de cobertura de código. Para obtener el procedimiento completo, consulte Establecimiento de umbrales de cobertura de código para solicitudes de incorporación de cambios.

Pasos siguientes

Obtenga información sobre cómo GitHub Code Quality funciona en las solicitudes de incorporación de cambios para evitar que los problemas de calidad del código lleguen a la rama predeterminada. Consulta Impedir que los problemas de calidad del código lleguen a la rama predeterminada.