Skip to content

Intégration continue (CI)

L'intégration continue (IC) est un aspect essentiel du développement de logiciels qui consiste à intégrer les changements et à les tester automatiquement. L'IC nous permet de maintenir un code de haute qualité en détectant les problèmes tôt et souvent dans le processus de développement. À Ultralytics, nous utilisons divers tests d'intégration continue pour garantir la qualité et l'intégrité de notre base de code.

Actions de l'IC

Voici une brève description de nos actions de CI :

  • CI: il s'agit de notre test CI principal qui implique l'exĂ©cution de tests unitaires, de vĂ©rifications de linting et parfois de tests plus complets en fonction du rĂ©fĂ©rentiel.
  • DĂ©ploiement Docker: Ce test vĂ©rifie le dĂ©ploiement du projet Ă  l'aide de Docker pour s'assurer que le Dockerfile et les scripts associĂ©s fonctionnent correctement.
  • Liens brisĂ©s: Ce test analyse la base de code Ă  la recherche de liens brisĂ©s ou morts dans nos fichiers markdown ou HTML.
  • CodeQL: CodeQL est un outil de GitHub qui effectue une analyse sĂ©mantique de notre code, ce qui permet de trouver d'Ă©ventuelles failles de sĂ©curitĂ© et de maintenir un code de haute qualitĂ©.
  • Publication PyPI: ce test vĂ©rifie si le projet peut ĂŞtre empaquetĂ© et publiĂ© sur PyPi sans aucune erreur.

RĂ©sultats de l'IC

Tu trouveras ci-dessous le tableau montrant l'état de ces tests CI pour nos principaux dépôts :

Dépôt CI Déploiement Docker Liens brisés CodeQL Publication PyPI et Docs
yolov3 YOLOv3 CI Publie des images Docker Vérifier les liens brisés CodeQL
yolov5 YOLOv5 CI Publie des images Docker Vérifier les liens brisés CodeQL
ultralytics ultralytics CI Publie des images Docker Vérifier les liens brisés CodeQL Publier sur PyPI et déployer des documents
plaque tournante HUB CI Vérifier les liens brisés
docs Vérifier les liens brisésVérifier les domaines pages-build-deployment

Chaque badge indique l'état de la dernière exécution du test CI correspondant sur la page main du référentiel concerné. Si un test échoue, le badge affichera un état "failing", et s'il réussit, il affichera un état "passing".

Si tu remarques qu'un test échoue, il serait très utile que tu le signales par le biais d'un problème GitHub dans le dépôt correspondant.

N'oublie pas qu'un test CI réussi ne signifie pas que tout est parfait. Il est toujours recommandé d'examiner manuellement le code avant de le déployer ou de fusionner les modifications.

Couverture du code

La couverture du code est une mesure qui représente le pourcentage de ta base de code qui est exécuté lorsque tes tests s'exécutent. Elle donne une idée de la façon dont tes tests exercent ton code et peut être cruciale pour identifier les parties non testées de ton application. Un pourcentage élevé de couverture du code est souvent associé à une probabilité plus faible de bogues. Cependant, il est essentiel de comprendre que la couverture du code ne garantit pas l'absence de défauts. Elle indique simplement quelles parties du code ont été exécutées par les tests.

Intégration avec codecov.io

À Ultralytics, nous avons intégré nos dépôts à codecov.io, une plateforme en ligne populaire pour mesurer et visualiser la couverture du code. Codecov fournit des aperçus détaillés, des comparaisons de couverture entre les commits, et des superpositions visuelles directement sur ton code, indiquant quelles lignes ont été couvertes.

En intégrant Codecov, nous visons à maintenir et à améliorer la qualité de notre code en nous concentrant sur les domaines qui pourraient être sujets à des erreurs ou qui nécessitent des tests supplémentaires.

RĂ©sultats de la couverture

Pour avoir rapidement un aperçu de l'état de la couverture du code de l'application ultralytics python Nous avons inclus un badge et un visuel du soleil dans le paquet. ultralytics les résultats de la couverture. Ces images montrent le pourcentage de code couvert par nos tests, ce qui permet de mesurer d'un coup d'œil nos efforts en matière de tests. Pour plus de détails, voir https://codecov.io/github/ultralytics/ultralytics.

DĂ©pĂ´t Couverture du code
ultralytics codecov

Dans le graphique en forme de soleil ci-dessous, le cercle le plus intérieur représente l'ensemble du projet, en s'éloignant du centre se trouvent les dossiers puis, enfin, un seul fichier. La taille et la couleur de chaque tranche représentent respectivement le nombre de déclarations et la couverture.

Ultralytics Image Codecov



Créé le 2023-11-12, Mis à jour le 2024-04-18
Auteurs : glenn-jocher (5), Burhan-Q (1)

Commentaires