Saltar al contenido

Integraci贸n continua (IC)

La Integraci贸n Continua (IC) es un aspecto esencial del desarrollo de software que consiste en integrar los cambios y probarlos autom谩ticamente. La IC nos permite mantener un c贸digo de alta calidad detectando los problemas en una fase temprana y frecuente del proceso de desarrollo. En Ultralytics utilizamos varias pruebas de IC para garantizar la calidad e integridad de nuestro c贸digo.

Acciones CI

He aqu铆 una breve descripci贸n de nuestras acciones de IC:

  • CI: Esta es nuestra prueba principal de CI, que implica la ejecuci贸n de pruebas unitarias, comprobaciones de linting y, a veces, pruebas m谩s exhaustivas en funci贸n del repositorio.
  • Despliegue en Docker: Esta prueba comprueba el despliegue del proyecto mediante Docker para garantizar que el Dockerfile y los scripts relacionados funcionan correctamente.
  • Enlacesrotos: Esta prueba escanea el c贸digo base en busca de enlaces rotos o muertos en nuestros archivos markdown o HTML.
  • CodeQL: CodeQL es una herramienta de GitHub que realiza un an谩lisis sem谩ntico de nuestro c贸digo, ayudando a encontrar posibles vulnerabilidades de seguridad y a mantener un c贸digo de alta calidad.
  • Publicaci贸n en PyPI: Esta prueba comprueba si el proyecto se puede empaquetar y publicar en PyPi sin errores.

Resultados de la IC

A continuaci贸n se muestra la tabla con el estado de estas pruebas CI para nuestros repositorios principales:

Repositorio CI Despliegue Docker Enlaces rotos CodeQL Publicaci贸n de PyPI y Docs
yolov3 YOLOv3 CI Publicar im谩genes Docker Comprueba los enlaces rotos CodeQL
yolov5 YOLOv5 CI Publicar im谩genes Docker Comprueba los enlaces rotos CodeQL
ultralytics ultralytics CI Publicar im谩genes Docker Comprueba los enlaces rotos CodeQL Publicar en PyPI y desplegar documentos
cubo HUB CI Comprueba los enlaces rotos
docs Comprueba los enlaces rotosComprobar dominios p谩ginas-construir-despliegue

Cada insignia muestra el estado de la 煤ltima ejecuci贸n de la prueba CI correspondiente en el main del repositorio correspondiente. Si una prueba falla, la insignia mostrar谩 el estado "fallando", y si la supera, mostrar谩 el estado "superando".

Si observas que una prueba falla, ser铆a de gran ayuda que lo comunicaras a trav茅s de una incidencia de GitHub en el repositorio correspondiente.

Recuerda que una prueba CI satisfactoria no significa que todo sea perfecto. Siempre es recomendable revisar manualmente el c贸digo antes de desplegarlo o fusionar los cambios.

Cobertura del c贸digo

La cobertura del c贸digo es una m茅trica que representa el porcentaje de tu c贸digo base que se ejecuta cuando se realizan tus pruebas. Proporciona informaci贸n sobre lo bien que tus pruebas ejercitan tu c贸digo y puede ser crucial para identificar partes de tu aplicaci贸n que no han sido probadas. Un alto porcentaje de cobertura del c贸digo suele asociarse a una menor probabilidad de errores. Sin embargo, es esencial comprender que la cobertura del c贸digo no garantiza la ausencia de defectos. Simplemente indica qu茅 partes del c贸digo han sido ejecutadas por las pruebas.

Integraci贸n con codecov.io

En Ultralytics, hemos integrado nuestros repositorios con codecov.io, una popular plataforma en l铆nea para medir y visualizar la cobertura del c贸digo. Codecov proporciona informaci贸n detallada, comparaciones de cobertura entre commits, y superposiciones visuales directamente sobre tu c贸digo, indicando qu茅 l铆neas estaban cubiertas.

Al integrarnos con Codecov, pretendemos mantener y mejorar la calidad de nuestro c贸digo centr谩ndonos en las 谩reas que pueden ser propensas a errores o que necesitan m谩s pruebas.

Resultados de la cobertura

Para echar un vistazo r谩pido al estado de la cobertura de c贸digo del ultralytics python paquete, hemos incluido una insignia y un sol visual del ultralytics resultados de cobertura. Estas im谩genes muestran el porcentaje de c贸digo cubierto por nuestras pruebas, ofreciendo una m茅trica a simple vista de nuestros esfuerzos de comprobaci贸n. Para m谩s informaci贸n, consulta https://codecov.io/github/ultralytics/ultralytics.

Repositorio Cobertura del c贸digo
ultralytics codecov

En el gr谩fico del sol de abajo, el c铆rculo m谩s interior es todo el proyecto, alej谩ndose del centro est谩n las carpetas y, finalmente, un 煤nico archivo. El tama帽o y el color de cada trozo representan el n煤mero de declaraciones y la cobertura, respectivamente.

Ultralytics Codecov Imagen



Creado 2023-11-12, Actualizado 2024-04-18
Autores: glenn-jocher (5), Burhan-Q (1)

Comentarios