8000 GitHub - melg8/cit at feature/Si
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

melg8/cit

 
 

Repository files navigation

Cit - Control it

Checks codecov Language grade: C/C++ REUSE status MIT built with nix

Control your c++ code using this continuous integration template.

cit - is a project template for development of C++ codebase. It aggregates linters, static and dynamic analysis tools in single, ready to use template.

Main goals of project

  • Explore capabilities of automatic tools and their impact on development

  • Give users of project unified access to linters and analysis tools

  • Showcase techniques of testing different properties of codebase

  • Provide reproducible builds and environments through docker and nix

  • Encourage responsible attitude towards the development of quality software

Current status

This project is under development, expect changes in api, setup and tools. It uses opinionated set of rules and conventions for project, fill free to change configuration files to best fit your personal needs. You can fork and play with it, contributions to the source code, issues and requests are welcome.

How it works

  1. Nix used to reproducibly build tar archive with docker image containing all linters:

    nix build -f ci/nix/docker_build.nix --enforce-determinism --repeat 1 --keep-failed
  2. You can check that produced result has same hash sum as result produced by ci:

    sha256sum result
  3. Docker image than loaded from result:

    docker load < result
  4. To run all linters checks run inside that container use docker_run.sh script with all.sh script as argument:

    ci/docker/docker_run.sh ci/checks/all.sh
  5. To run more specific checks use docker_run.sh script with name of script from ci/checks:

    ci/docker/docker_run.sh ci/checks/md_files_style.sh
  6. To run interactive shell inside docker image:

    ci/docker/run_shell.sh
  7. If you don’t want to build docker image, you can load prepared docker image from docker hub:

    ci/docker/docker_pull.sh

See GitHub workflows for usage details.

Available tools

Planned

Credits

Big thanks to contributors. You can see contributors in credits.

License

cit template released under the terms of the MIT license. See license for more information.

About

Control your c++ code using this ci template and development environment powered by nix and docker.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0