
Controle seu código C ++ usando este modelo de integração contínua.
CIT - é um modelo de projeto para o desenvolvimento da base de código C ++. Ele agrega liners, ferramentas de análise estática e dinâmica em modelo único, pronto para usar.
Explore os recursos das ferramentas automáticas e seu impacto no desenvolvimento
Dê aos usuários de acesso unificado do projeto a linheiros e ferramentas de análise
Mostrar técnicas de teste diferentes propriedades da Base CodeBase
Forneça construções e ambientes reprodutíveis através do Docker e Nix
Incentive a atitude responsável em relação ao desenvolvimento de software de qualidade
Este repositório fornece ambientes de desenvolvimento e teste reprodutíveis com fixação de versões graças ao Docker e Nix
Suporte dos principais compiladores C ++, com todas as verificações de tempo de compilação ativadas
Configuração familiar de construção entre plataformas cruzadas usando CMake e Conan
Testes de tempo de execução com Doctest e desinfetantes
Ferramenta de linha de comando para simplificar o uso da funcionalidade

Muitos liners, formates e ferramentas de análise estática integradas e configuradas para cada aspecto do projeto com relatórios informativos, graças à integração com a versão corrigida do megalinter

Você não precisa olhar para os registros de ferramentas brutos, graças ao Codechecker Você pode verificar as tabelas de resumo, estatísticas de projeto e relatórios no seu navegador 
Mesmo se você não conseguir executá -lo localmente - isso não é um problema. Pronto para usar a configuração do GitHub CI com as mesmas verificações e relatórios enviados como artefatos
Solicitações de tração não passam se os linheiros encontrarem alguns problemas

REVISÃO COMENTÁRIOS DOG LIVERS CPP SAÍDA EM PULL SPILD

As sugestões de linters e as correções automáticas também são exibidas pelo ReviewDog como sugestões na solicitação de tração

Puxe solicita feedback com resultados de linha como comentário: Exemplo. Quando não há problemas com o PR, você verá uma mensagem atualizada do bot

Cobertura de código com Relatórios de Codecov Pull Pull Solic

Todos os artefatos com logs estão disponíveis para download de CI
Este projeto está em desenvolvimento, espere alterações na API, configuração e ferramentas. Ele usa conjunto opinativo de regras e convenções para o projeto, sinta -se à vontade para alterar os arquivos de configuração para melhor atender às suas necessidades pessoais. Você pode gastar e brincar com ele, contribuições para o código -fonte, os problemas e solicitações são bem -vindos.
Você pode usar esse modelo em diferentes níveis de integração com o ambiente do usuário. Ao usar o editor de texto e a execução de todas as verificações no CI, até o uso da imagem do docker preparada ou o nix-shell e a execução da verificação localmente.
Fork este projeto, ative ações do GitHub e edite -o com o editor do GitHub ou com o editor de texto local
Uso do projeto CMake Ninja e Conan. Se você os tiver instalado no seu sistema, poderá criar e executar testes como em qualquer outro projeto CMake. Ou execute este script bash da raiz do projeto para construir o projeto com o GCC:
ci/builders/gcc/build.shPara usar este projeto localmente para todo o potencial, você tem opções:
Instale o Docker do que você pode usar a imagem preparada do Docker. Chame esse script da raiz do projeto para executar o Bash Shell dentro da imagem do Docker
ci/docker/run_shell.shInstale o NIX Package Manager ou use nixos. Nesse caso, ligue para Nix-Shell
nix-shellOK. Você tem seu ambiente com a imagem do Docker ou com o Nix-Shell, vamos dar uma olhada no que vem a seguir. Para facilitar o uso do projeto, usamos apenas. Então, podemos chamá -lo assim:
justVocê verá receitas (ações) disponíveis para usar o Projeto:

Vamos explorar as principais funções. Você pode construir o projeto com compilador GCC ou CLANG usando comandos:
just build-gcc just build-clangPara executar todos os linhtos no uso do seu projeto:
just lint-allPara executar o Linter específico no seu projeto, use o comando lint-with com o nome do descritor e Linter All Capital Case dividido por sublinhados. Então, se queremos executar o Clang-Tidy a partir do descritor de CPP, chamamos:
just lint-with CPP_CLANG_TIDYE veremos o relatório de um único Linter:

Após o linhagem, você pode verificar a pasta de relatório com todos os logs dos linheiros.
Da imagem Nix-Shell ou Docker, você também pode criar uma imagem do Docker. Nix usado para criar o arquivo alcatrão reprodutível com a imagem do docker contendo todos os linters
just docker-buildVocê pode verificar se o resultado produzido tem a mesma soma de hash que o resultado produzido pelo CI:
sha256sum resultImagem do docker do que carregado do resultado:
just docker-loadOu você pode executar o Docker-Update localmente para fazer a criação de imagens, SHA256SUM e carregar no comando único:
just docker-update-locallyDocker-update Command criará imagem e o enviará para Docker-Hub:
just docker-updatePara ver todos os trabalhos internos, dê uma olhada no JustFile para scripts de bash de concreto para cada ação. Verifique o arquivo dos fluxos de trabalho do GitHub para obter a configuração do GitHub CI.
Serviços online
Comandos de console unificado
git
licenças
arquivos e diretórios
ortografia
Análise estática do CPP
Análise dinâmica do CPP
Exemplos de CPP de uso da biblioteca
cmake
concha
nix
Arquivos MD
Yaml
Ferramentas CPP
Compiladores de CPP
Ambientes CI
Exemplos de uso da biblioteca
Teste da GUI
Reproduzível compra testes
Comandos de console unificado
Teste de aprovação
Microbenchmarking
Compilar o benchmarking do tempo
Wiki sobre o projeto
Logotipo e ilustrações
Versões e tags de liberação estável
roteiro
Muito obrigado aos colaboradores. Você pode ver colaboradores em créditos.
Modelo CIT divulgado sob os termos da licença do MIT. Consulte a licença para obter mais informações.