
Contrôlez votre code C ++ à l'aide de ce modèle d'intégration continue.
CIT - est un modèle de projet pour le développement de la base de code C ++. Il agrége les liners, les outils d'analyse statique et dynamique dans un modèle unique et prêt à l'emploi.
Explorez les capacités des outils automatiques et leur impact sur le développement
Donnez aux utilisateurs de l'accès unifié du projet aux liners et aux outils d'analyse
Présenter des techniques de test de différentes propriétés de la base de code
Fournir des versions et des environnements reproductibles via Docker et Nix
Encouragez une attitude responsable envers le développement de logiciels de qualité
Ce référentiel fournit des environnements de développement et de test reproductibles avec la version épingle grâce à Docker et Nix
Prise en charge des principaux compilateurs C ++, avec toutes les vérifications de temps de compilation activées
Configuration familière de construction multiplateforme à l'aide de CMake et Conan
Tests d'exécution avec Doctest et désinfectants
Outil de ligne de commande pour simplifier l'utilisation des fonctionnalités

Beaucoup de linceurs, de formateurs et d'outils d'analyse statique intégrés et configurés pour chaque aspect du projet avec des rapports informatifs grâce à l'intégration avec la version patchée de Megaliter

Vous n'avez pas besoin de regarder les journaux bruts des outils, grâce à CodeChecker, vous pouvez vérifier les tables de résumé, les statistiques pour le projet et les rapports dans votre navigateur 
Même si vous ne pouvez pas l'exécuter localement - ce n'est pas un problème. Configuration de GitHub CI prête avec les mêmes vérifications et rapports téléchargés sous forme d'artefacts
Les demandes de traction ne passeront pas si les liners trouvaient des problèmes

ReviewDog Commentaires CPP Liners Sortie dans la demande de traction

Les suggestions de liners et les correctifs automobiles sont également affichés par ReviewDog comme suggestions dans la demande de traction

Tirez les demandes des commentaires avec les résultats de liaison comme commentaire: Exemple. Lorsqu'il ne reste plus de problèmes avec PR, vous verrez le message mis à jour de Bot

Couverture de code avec requête Pull Rapports de codecov

Tous les artefacts avec des journaux sont disponibles en téléchargement depuis CI
Ce projet est en cours de développement, attendez des changements dans l'API, la configuration et les outils. Il utilise un ensemble d'opinion de règles et de conventions pour le projet, n'hésitez pas à modifier les fichiers de configuration pour répondre au mieux à vos besoins personnels. Vous pouvez déborder et jouer avec elle, les contributions au code source, les problèmes et les demandes sont les bienvenues.
Vous pouvez utiliser ce modèle à différents niveaux d'intégration avec l'environnement utilisateur. De l'utilisation de l'éditeur de texte et de l'exécution de toutes les vérifications dans CI, jusqu'à l'utilisation de l'image Docker préparée ou de la shell Nix et de la vérification en cours d'exécution localement.
Fourk ce projet, activez les actions GitHub et modifiez-la avec GitHub Editor ou avec l'éditeur de texte local
Utiliser le projet Cmake Ninja et Conan. Si vous les avez installés sur votre système, vous pouvez créer et exécuter des tests comme pour tout autre projet CMake. Ou exécutez ce script bash de Root of Project to Build Project avec GCC:
ci/builders/gcc/build.shPour utiliser ce projet localement au plein potentiel, vous avez des options:
Installez Docker que vous pouvez utiliser l'image Docker préparée. Appelez ce script de Root of Project to Run Bash Shell à l'intérieur de l'image Docker
ci/docker/run_shell.shInstallez Nix Package Manager ou utilisez Nixos. Dans ce cas, appelez Nix-Shell
nix-shellD'accord. Vous avez votre environnement avec Docker Image ou avec Nix-Shell, jetons un coup d'œil à la suite. Pour faciliter l'utilisation du projet, nous utilisons juste. Nous pouvons donc l'appeler comme ça:
justVous verrez des recettes (actions) disponibles que vous pouvez faire pour utiliser le projet:

Explorons les fonctions principales. Vous pouvez créer un projet avec GCC ou Clang Compiler à l'aide de commandes:
just build-gcc just build-clangPour exécuter tous les liners sur votre utilisation de projet:
just lint-allPour exécuter un linter spécifique sur votre projet, utilisez la commande de peluche avec le nom de Descripteur et Linter Tous les cas de capital divisés par soulignements. Donc, si nous voulons exécuter Clang-tidy à partir du descripteur CPP, nous appelons:
just lint-with CPP_CLANG_TIDYEt nous verrons un rapport de linter unique:

Après avoir lié, vous pouvez vérifier le dossier de rapport avec tous les journaux de liners.
À partir de l'image Nix-Shell ou Docker, vous pouvez également créer vous-même Docker Image. Nix a l'habitude de construire de manière reproductible des archives TAR avec une image Docker contenant tous les liners
just docker-buildVous pouvez vérifier que le résultat produit a la même somme de hachage que le résultat produit par CI:
sha256sum resultImage docker que chargée du résultat:
just docker-loadOu vous pouvez exécuter docker-update-local pour faire la création d'images, sha256sum et charger en commande unique:
just docker-update-locallyLa commande docker-update créera une image et la téléchargera sur docker-hub:
just docker-updatePour voir tous les travaux intérieurs, jetez un coup d'œil à JustFile pour les scripts de bash de béton pour chaque action. Vérifiez le fichier GitHub Workflows pour la configuration GitHub CI.
services en ligne
Commandes de console unifiées
git
licence
Fichiers et répertoires
orthographe
Analyse statique CPP
Analyse dynamique CPP
CPP Exemples d'utilisation de la bibliothèque
cmake
coquille
rien
Fichiers MD
yaml
Outils CPP
compilateurs CPP
Environnements CI
Exemples d'utilisation de la bibliothèque
Test de l'interface graphique
Test de construction reproductible
Commandes de console unifiées
tests d'approbation
microbenchare
compiler le temps d'analyse
Wiki sur le projet
logo et illustrations
Versions et balises de version stable
feuille de route
Un grand merci aux contributeurs. Vous pouvez voir des contributeurs en crédits.
Modèle CIT publié selon les termes de la licence MIT. Voir la licence pour plus d'informations.