This project provides pylint formatters for a nice integration with GitLab CI.
Project description
pylint-gitlab
This project provides pylint formatters for a nice integration with GitLab CI.
Formatter | Description |
---|---|
GitlabCodeClimateReporter |
Maps the linting result in Code Climate format |
GitlabPagesHtmlReporter |
Creates a table in an HTML page with linting results and links to source code. |
Usage
Install package pylint-gitlab
:
pip install pylint-gitlab
The pylint
package is a dependency of pylint-gitlab
so it will be installed automatically.
Now the formatters can be used by running pylint
command and setting custom output formats with parameter --output-format
.
pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter . > codeclimate.json
pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter . > pylint.html
GitLab CI integration
Here is a minimalistic version for a .gitlab-ci.yml
file:
pylint:
stage: test
image: python:3.7-slim
before_script:
- mkdir -p public/badges public/lint
- echo undefined > public/badges/$CI_JOB_NAME.score
- pip install pylint_gitlab
script:
- pylint --exit-zero --output-format=text $(find -type f -name "*.py" ! -path "**/.venv/**") | tee /tmp/pylint.txt
- sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' /tmp/pylint.txt > public/badges/$CI_JOB_NAME.score
- pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > codeclimate.json
- pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > public/lint/index.html
after_script:
- anybadge --overwrite --label $CI_JOB_NAME --value=$(cat public/badges/$CI_JOB_NAME.score) --file=public/badges/$CI_JOB_NAME.svg 4=red 6=orange 8=yellow 10=green
- |
echo "Your score is: $(cat public/badges/$CI_JOB_NAME.score)"
artifacts:
paths:
- public
reports:
codequality: codeclimate.json
when: always
pages:
stage: deploy
image: alpine:latest
script:
- echo
artifacts:
paths:
- public
only:
refs:
- master
You can then use the published badge for linting results.
[![pylint](https://<USER/GROUP_NAME>.gitlab.io/<PROJECT_PATH>/badges/pylint.svg)](https://<USER/GROUP_NAME>.gitlab.io/<PROJECT_PATH>/lint/)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pylint-gitlab-0.0.1.tar.gz
(6.1 kB
view details)
Built Distribution
File details
Details for the file pylint-gitlab-0.0.1.tar.gz
.
File metadata
- Download URL: pylint-gitlab-0.0.1.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cde29de07e46ac7827ba6235182c3028e96e068e6c02ac82c7d7f355eab30da |
|
MD5 | b3057b8bd705400ea86ae6125a767d3a |
|
BLAKE2b-256 | a30cd679182379d6e76b223bd4887efe043f2dc7eb03702dcf2441fa3bf71fc6 |
File details
Details for the file pylint_gitlab-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: pylint_gitlab-0.0.1-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfc01a58d0a29d82711dd19d0f1834dd6099245908f3af8241d942d21f49285f |
|
MD5 | 3125656467590d19d99d9abe7ca94892 |
|
BLAKE2b-256 | 53750b2446995a4aae56fab0a31834dc6a97d9f63c6847a72105204d20badaa7 |