GitHub - awelzel/flake8-gl-codeclimate: Flake8 formatter producing Gitlab Code Quality artifacts.

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!