Skip to content

codeclimate の導入を検討する #59

Open
@m-tmatma

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 の例

JunSotaSoftware/Backup#13

過去のビルド

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 のサポートに確認して裏を取っています。

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions