Simple script to generate gitlab code quality report from output of mypy.
Example gitlab codequality report from gitlab documentation:
$ mypy program.py | mypy-gitlab-code-quality
This command send to STDOUT
generated json that can be used as Code Quality report artifact.
image: python:alpine
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
cache:
paths:
- .cache/pip/
- venv/
- .mypy_cache/
before_script:
- python --version # For debugging
- python -m venv venv
- . venv/bin/activate
codequality:
script:
- pip install mypy mypy-gitlab-code-quality
- mypy program.py --no-error-summary > mypy-out.txt || true # "|| true" is used for preventing job fail when mypy find errors
- mypy-gitlab-code-quality < mypy-out.txt > codequality.json
artifacts:
when: always
reports:
codequality: codequality.json
Note: if you want to use this example you should replace program.py
with yours module names.
Please run linters before creating merge request
pip install requirements/dev.txt
black .
mypy .
ruff .
Suggestions and merge requests are always welcome :)