Description
codeclimate の導入を検討する
https://codeclimate.com/quality/
codeclimate は CodeFactor と同様に Cloud 対応の静的解析ツールです。
(カバレッジも扱うことができるみたいですが試していません。)
CodeFactor があるのに新たなものいる? と思われるかもしれませんが、
プラグインを有効にすることにより cppcheck の解析を行うことができます。
https://docs.codeclimate.com/docs/cppcheck
appveyor 等各種 Cloud サービスと同様に権限を与えた上で .codeclimate.yml
の
設定ファイルを置くことにより、cppcheck などの静的解析を行ってくれます。
プラグインの設定も .codeclimate.yml
のファイルで行います。
appveyor 等の CI に依存しないので、appveyor では cppcheck の実行をなくして
ビルド時間の短縮を行うことができます。また、cppcheck を PR のたびに確認
することができて、何の警告が増えたかあるいは減ったかを簡単に確認できます。
なお、codeclimate で報告された警告をあえて無視する場合、approve
を押せば
警告が出てるけど一括で無視します、ということも可能です。
実例
サクラエディタとは全く全然別のプロジェクトで導入して動いています。
issue 一覧
https://codeclimate.com/github/JunSotaSoftware/Backup/issues
PR の例
過去のビルド
https://codeclimate.com/github/JunSotaSoftware/Backup/builds
badge
https://github.com/JunSotaSoftware/Backup
現状の問題点
サクラエディタのソース (fork) で実行した場合、制限時間内に終わらずにタイムアウトになります。
https://codeclimate.com/github/test-m-tmatma/sakura/builds/5
原因および対策の調査中です。
codeclimate のうれしいところ
おそらく 15 ビルドまで同時に実行できます。
(https://docs.codeclimate.com/docs/enterprise-analysis-settings)
※ URL に enterprise が入っているのでひょっとしたら 15個まで
というのは有料版だけかもしれません。
This default for this option is 15.
とあるのでもっと増やせるのかもしれません。
現時点で 3 つまで同時実行可能なのは確認しています。
必要な権限
https://docs.codeclimate.com/docs/setting-github-oauth-permission-levels
ログインに使用するために email アドレスにアクセスします。
リポジトリにアクセスします。
なお、リポジトリのアクセス権に関しては GitHub 自体にリポジトリへの読み込み権限
という権限がないために書き込み権限も付与される、と説明されています。
このことに関しては GitHub のサポートに確認して裏を取っています。