
この連続統合テンプレートを使用して、C ++コードを制御します。
CIT-は、C ++コードベースの開発のためのプロジェクトテンプレートです。 Linter、静的および動的な分析ツールを単一の使用、使用可能なテンプレートで集約します。
自動ツールの機能と開発への影響を探る
プロジェクトの統一アクセスのユーザーに、リナーと分析ツールへのアクセスを提供します
コードベースのさまざまな特性をテストするショーケース手法
Dockerとnixを通じて、再現可能なビルドと環境を提供します
高品質のソフトウェアの開発に対する責任ある態度を奨励します
このリポジトリは、 DockerとNixのおかげでバージョンのピン留めの再現可能な開発とテスト環境を提供します
主要なC ++コンパイラのサポート、すべてのコンパイル時間チェックが有効になっています
CmakeとConanを使用した馴染みのあるクロスプラットフォームビルドセットアップ
DoctestおよびSanitizersによるランタイムテスト
機能の使用を簡素化するためのコマンドラインツール

Megalinterのパッチバージョンとの統合のおかげで、プロジェクトの各側面に統合およびセットアップされたプロジェクトの各側面に統合およびセットアップされた多くのリナー、フォーマッタ、および静的分析ツール

Toolsの生ログを見つめる必要はありません。CodeCheckerのおかげで、概要表、プロジェクトの統計、ブラウザのレポートを確認できます。 
地元で実行できなくても、それは問題ではありません。同じチェックとレポートを使用してGitHub CIセットアップを使用する準備ができていますArtifactsとしてアップロードされたレポート
Lintersがいくつかの問題を見つけた場合、Pullリクエストは渡されません

ReviewDogのコメントCPPリンジター出力は、プルリクエストで出力されます

リナーの提案と自動修正は、ReviewDogによってプルリクエストの提案として表示されます

コメント:例として、糸くずの結果を使用してフィードバックをリクエストします。 PRに問題が残っていない場合は、ボットから更新されたメッセージが表示されます

プルリクエストCodecovレポートを使用したコードカバレッジ

ログ付きのすべてのアーティファクトは、CIからダウンロードできます
このプロジェクトは開発中であり、API、セットアップ、ツールの変更が予想されます。それは、プロジェクトに意見のある一連のルールと慣習を使用しています。個人的なニーズに最適な構成ファイルを自由に変更してください。フォークしてプレイできます。ソースコードへの貢献、問題、リクエストは大歓迎です。
このテンプレートは、ユーザー環境とのさまざまなレベルの統合で使用できます。テキストエディターの使用とCIですべてのチェックを実行してから、準備されたDockerイメージまたはNix-Shellの使用、およびローカルでチェックを実行するまで。
このプロジェクトをフォークし、githubアクションを有効にし、githubエディターまたはローカルテキストエディターで編集します
プロジェクトでは、Cmake NinjaとConanを使用します。システムにインストールしている場合は、他のCMAKEプロジェクトと同様にテストを構築および実行できます。または、プロジェクトのrootからこのbashスクリプトを実行して、GCCを使用してプロジェクトを構築します。
ci/builders/gcc/build.shこのプロジェクトをローカルに使用するには、オプションがあります。
準備されたDocker画像を使用できるよりもDockerをインストールします。プロジェクトのルートからこのスクリプトを呼び出して、docker画像内でバッシュシェルを実行します
ci/docker/run_shell.shNIXパッケージマネージャーをインストールするか、Nixosを使用します。その場合、Nix-Shellを呼び出します
nix-shellわかった。 DockerイメージまたはNix-Shellで環境を手に入れました。次のことを見てみましょう。プロジェクトの使用を容易にするために使用します。だから私たちはそれをそのように呼ぶことができます:
justプロジェクトを使用するためにできる利用可能なレシピ(アクション)が表示されます。

主な機能を探りましょう。コマンドを使用して、GCCまたはClangコンパイラでプロジェクトを構築できます。
just build-gcc just build-clangプロジェクトですべてのリンターを実行するには:
just lint-allプロジェクトで特定のリナーを実行するには、記述子とリナーの名前を持つLint-Withコマンドを使用して、すべてのキャピタルケースがアンダースコアによって分割されます。したがって、CPP記述子からClang-Tidyを実行したい場合は、次のように呼び出します。
just lint-with CPP_CLANG_TIDYそして、シングルリナーのレポートをご覧ください:

糸くずの後、Linterのすべてのログを使用してレポートフォルダーを確認できます。
Nix-ShellまたはDocker画像から、Dockerイメージを自分で作成することもできます。 Nixは、すべてのリナーを含むDocker画像でTARアーカイブを再現できるように構築するために使用されます
just docker-build生成された結果がCIによって生成された結果と同じハッシュ合計を持っていることを確認できます。
sha256sum result結果からロードされるよりもDocker画像:
just docker-loadまたは、docker-update-locallyを実行して、画像作成、sha256sum、および単一コマンドでロードすることもできます。
just docker-update-locallydocker-updateコマンドは画像を作成し、Docker-Hubにアップロードします。
just docker-updateすべての内部の仕組みを見るには、各アクションの具体的なバッシュスクリプトをJustFileをご覧ください。 GitHub CIのセットアップについては、GitHubワークフローファイルを確認してください。
オンラインサービス
統一されたコンソールコマンド
git
ライセンス
ファイルとディレクトリ
スペル
CPP静的分析
CPP動的分析
CPPライブラリの使用例
cmake
シェル
nix
MDファイル
Yaml
CPPツール
CPPコンパイラ
CI環境
ライブラリの使用例
GUIテスト
再現可能なビルドテスト
統一されたコンソールコマンド
承認テスト
マイクロベンチマーク
タイムベンチマークをコンパイルします
プロジェクトについてのウィキ
ロゴとイラスト
安定したリリースバージョンとタグ
ロードマップ
貢献者に感謝します。クレジットで貢献者を見ることができます。
MITライセンスの条件に基づいてリリースされたCITテンプレート。詳細については、ライセンスを参照してください。