Home

Awesome

flake8-gl-codeclimate

Build Status

Flake8 formatter producing Gitlab Code Quality artifacts.

Usage

By default, Flake8 will print to standard output. However, the purpose of this formatter is to produce a JSON file that is then stored as Code Quality artifact by Gitlab (see below) - the output itself isn't very human-readable:

$ pip install flake8-gl-codeclimate
$ flake8 --format gl-codeclimate examples/trailing-whitespace.py
[
    {"type": "issue", "check_name": "pycodestyle", "description": "trailing whitespace [W291]", ... }
]

Adding it to Gitlab

To enable Code Quality reports based on Flake8 in Gitlab merge requests, add a configuration as follows to your projects gitlab-ci.yml file.

flake8:
  script:
    - pip install flake8-gl-codeclimate
    - flake8 --exit-zero --format gl-codeclimate --output-file gl-code-quality-report.json my_package/
  artifacts:
    reports:
      codequality: gl-code-quality-report.json

This will upload the gl-code-quality-report.json as Gitlab Code Quality artifact. Afterwards, code quality improvements and degradations should show up in merge requests on Gitlab.

Gitlab Code Quality artifacts are a subset of the Code Climate spec.

Have fun!