Skip to main content

Configuración automática de cobertura de código

Un agente con tecnología de inteligencia artificial puede analizar el repositorio y generar un flujo de trabajo de cobertura de código, por lo que puede empezar a realizar el seguimiento de la cobertura de pruebas sin crear manualmente la configuración de CI.

¿Quién puede utilizar esta característica?

GitHub Team o GitHub Enterprise Cloud

Cuando se usa la configuración automática para la cobertura de código, un agente con tecnología de inteligencia artificial analiza el repositorio, identifica el marco de pruebas y abre una solicitud de incorporación de cambios con un flujo de trabajo de cobertura listo para su revisión.

No hay ningún costo adicional para usar esta característica.

Funcionamiento del agente

El agente funciona en tres fases:

  1. Detección: El agente lee la configuración de CI, la documentación y los archivos de compilación para comprender la estructura del proyecto e identificar el marco de pruebas.
  2. Ejecución: El agente instala dependencias, compila el proyecto y ejecuta las pruebas con cobertura habilitada. Si las herramientas de cobertura aún no están configuradas, el agente la agrega a la configuración del proyecto (por ejemplo, vitest.config.ts o jest.config.js).
  3. Integración del flujo de trabajo: Si el agente genera un informe de cobertura válido, comprueba si el repositorio ya tiene un GitHub Actions flujo de trabajo que ejecuta pruebas en las solicitudes de incorporación de cambios. Si es así, el agente aumenta ese flujo de trabajo con un paso de carga de cobertura. Si no es así, crea un nuevo archivo de flujo de trabajo y abre una solicitud de incorporación de cambios.

Cuando el agente se detiene

El agente puede detenerse antes de abrir una solicitud de incorporación de cambios en las situaciones siguientes:

  • No se encontraron pruebas. El agente no pudo encontrar pruebas para instrumentar, por lo que no hay nada para generar cobertura.
  • No se puede reproducir la compilación. Los registros privados que faltan, los SDK propietarios o las dependencias del sistema impiden que el agente compruebe el conjunto de pruebas.

Si el agente se detiene o genera resultados inesperados, puede revisar el registro de sesión del agente para obtener más información. Vaya a la pestaña Tareas del repositorio para buscar la sesión asociada al intento de generación de flujo de trabajo.

  • Conversión de informes de cobertura no compatible. El agente no reconstruirá Cobertura XML a partir de informes que solo expongan contadores agregados. Por ejemplo, JaCoCo XML no contiene suficiente estructura de líneas y ramas para una carga de Cobertura confiable, por lo que los proyectos JVM que solo producen Xml de JaCoCo pueden necesitar la configuración manual en su lugar.

Resultados de la solicitud de incorporación de cambios

Nota:

El agente abre la solicitud de incorporación de cambios inmediatamente con una confirmación de planeación inicial que no contiene ningún cambio de código. La confirmación de implementación real suele llegar unos minutos más tarde. Si la solicitud de incorporación de cambios muestra inicialmente 0 archivos modificados, espere unos minutos y actualice la página.

Si el agente abre correctamente una solicitud de incorporación de cambios, la solicitud de incorporación de cambios puede estar en uno de estos estados:

  • as-iscombinables : El flujo de trabajo se completa correctamente en CI y la cobertura se carga correctamente.
  • Listo para iterar: El flujo de trabajo se ejecuta, pero requiere ajustes (por ejemplo, secretos que faltan, configuración del ejecutor autohospedado o diferencias de ruta de acceso entre la comprobación local y la CI).
  • Útil como referencia: Es posible que los mantenedores prefieran configurar la cobertura por sí mismos, usando la solicitud de incorporación de cambios del agente como punto de partida para los comandos de compilación y prueba detectados.

Lectura adicional