
Controle su código C ++ utilizando esta plantilla de integración continua.
CIT - es una plantilla de proyecto para el desarrollo de la base de código C ++. Agregue las líneas de análisis estáticas y dinámicas en la plantilla única, lista para usar.
Explore las capacidades de las herramientas automáticas y su impacto en el desarrollo
Dar a los usuarios del Proyecto Acceso unificado a Linters y Herramientas de Análisis
Mostrar técnicas de prueba diferentes propiedades de CodeBase
Proporcionar compilaciones y entornos reproducibles a través de Docker y Nix
Fomentar la actitud responsable hacia el desarrollo del software de calidad
Este repositorio proporciona entornos de desarrollo y prueba reproducibles con la fijación de la versión gracias a Docker y Nix
Soporte de los principales compiladores de C ++, con todas las verificaciones de tiempo de compilación habilitadas
Configuración de compilación multiplataforma familiar utilizando Cmake y Conan
Pruebas de tiempo de ejecución con Doctest y desinfectantes
Herramienta de línea de comandos para simplificar el uso de la funcionalidad

Un montón de linters, formatters y herramientas de análisis estático integrados y configurados para cada aspecto del proyecto con informes informativos gracias a la integración con la versión parcheada de Megalinter

No necesita mirar los registros de herramientas sin procesar, gracias a CodeChecker, puede verificar tablas de resumen, estadísticas de proyecto e informes en su navegador 
Incluso si no puede ejecutarlo localmente, eso no es un problema. Listo para usar la configuración de GitHub CI con las mismas verificaciones e informes cargados como artefactos
Las solicitudes de extracción no se pasarán si las puntas encontraron algunos problemas

ReviewDog Comentarios CPP Linters Salida en solicitud de extracción

Las sugerencias y las soluciones automáticas de los revestimientos también se muestran mediante ReviewDog como sugerencias en la solicitud de extracción

Solicite comentarios de solicitudes con resultados de pelusa como comentario: Ejemplo. Cuando no quedan problemas con PR, verá un mensaje actualizado desde BOT

Cobertura de código con solicitudes de solicitud de extracción CODECOV

Todos los artefactos con registros están disponibles para descargar desde CI
Este proyecto está en desarrollo, espere cambios en API, configuración y herramientas. Utiliza un conjunto obstinado de reglas y convenciones para el proyecto, no dude en cambiar los archivos de configuración para que mejor se ajuste a sus necesidades personales. Puede bifurcarse y jugar con él, las contribuciones al código fuente, los problemas y las solicitudes son bienvenidas.
Puede usar esta plantilla en diferentes niveles de integración con el entorno de usuario. Desde el uso de Text Editor y ejecutar todas las verificaciones en CI, hasta el uso de Docker Image o Nix-Shell y la ejecución de la ejecución localmente.
Bifurca este proyecto, habilite las acciones de GitHub y edítelo con el editor de GitHub o con el editor de texto local
Proyecto Use Cmake Ninja y Conan. Si los tiene instalados en su sistema, puede construir y ejecutar pruebas como con cualquier otro proyecto CMake. O ejecute este script bash de Root of Project para construir Proyecto con GCC:
ci/builders/gcc/build.shPara usar este proyecto localmente en todo el potencial, tiene opciones:
Instale Docker de lo que puede usar la imagen de Docker preparada. Llame a este script desde Root of Project para ejecutar Bash Shell dentro de Docker Image
ci/docker/run_shell.shInstale el administrador de paquetes NIX o use NIXOS. En ese caso, llame a Nix-Shell
nix-shellBueno. Obtienes tu entorno con imagen de Docker o con Nix-Shell, echemos un vistazo a lo que sigue. Para aliviar el uso del proyecto, usamos justo. Entonces podemos llamarlo así:
justVerá recetas disponibles (acciones) que puede hacer para usar el proyecto:

Exploremos las funciones principales. Puede crear un proyecto con GCC o CLANG COMPILER usando comandos:
just build-gcc just build-clangPara ejecutar todas las linters en el uso de su proyecto:
just lint-allPara ejecutar un enlace específico en su proyecto, use el comando de pelusa con el nombre del descriptor y el linter, todos los casos de capital divididos por subrayos. Entonces, si queremos ejecutar Clang-Tidy desde el descriptor CPP, llamamos:
just lint-with CPP_CLANG_TIDYY veremos un informe de un solo linter:

Después de la pelusa, puede verificar la carpeta de informes con todos los registros desde los delineos.
De la imagen Nix-Shell o Docker también puede construir Docker Image usted mismo. Nix solía construir reproduciblemente el archivo de alquitrán con una imagen Docker que contiene todas las revestimientos
just docker-buildPuede verificar que el resultado producido tiene la misma suma hash que el resultado producido por CI:
sha256sum resultImagen de Docker que cargada desde el resultado:
just docker-loadO puede ejecutar Docker-Update-Localmente para hacer la creación de imágenes, Sha256sum y cargar en un solo comando:
just docker-update-locallyEl comando Docker-Update creará la imagen y la cargará en Docker-Hub:
just docker-updatePara ver todos los trabajos internos, eche un vistazo a Just File para scripts de bash concretos para cada acción. Verifique el archivo de flujos de trabajo GitHub para obtener la configuración de GitHub CI.
servicios en línea
Comandos de consola unificados
git
licencias
archivos y directorios
ortografía
Análisis estático de CPP
Análisis dinámico de CPP
CPP Ejemplos de uso de la biblioteca
CMake
caparazón
nada
archivos md
yaml
Herramientas de CPP
compiladores de CPP
entornos de CI
Ejemplos de uso de la biblioteca
prueba de GUI
Pruebas de compilaciones reproducibles
Comandos de consola unificados
prueba de aprobación
microbenchmarking
Compilar Benchmarking
wiki sobre el proyecto
logotipo e ilustraciones
Versiones y etiquetas de lanzamiento estable
hoja de ruta
Muchas gracias a los contribuyentes. Puedes ver contribuyentes en créditos.
Plantilla CIT publicada bajo los términos de la licencia MIT. Vea la licencia para más información.