/linty_fresh

:sparkles: Surface lint errors during code review

Primary LanguagePythonOtherNOASSERTION

✨ Linty Fresh ✨ Build Status Join the chat at https://gitter.im/lyft/linty_fresh

Keep your codebase sparkly clean with the power of LINT!

Linty Fresh parses lint errors and report them back to GitHub as comments on a pull request.

Linty Fresh

Requirements

Contributing

CONTRIBUTING.md

Installation

Linty Fresh is hosted in PyPi. To get started, Run

pip3 install linty-fresh

Install from source

Linty Fresh uses setuptools for installation. After cloning the repo, run

python3 setup.py install

Usage

We recommend you create a GitHub user for your organization used just for commenting on PRs. Create a token for that user that only has access to the repo scope (or public_repo scope for OSS projects). Then add that token as a secret to your CI system as the environment variable GITHUB_AUTH_TOKEN. You should ensure this user and it's token are scoped down as much as possible. You should assume that anyone who has permissions to run a job in your CI system would have access to this token. See Travis CI documentation storing encrypted secrets for more information.

If you are looking for a good secret management system to store secrets like this, check out Confidant.

Once you have your GitHub user, integrating Linty Fresh is easy! Assuming you are running PyLint and the output is going to pylint.txt, add the following snippet to the bottom of your automation script.

linty_fresh --pr_url ${PR_URL} --commit "${COMMIT}" \
            --linter pylint pylint.txt

Take a look at our run_tests.sh script as an example for how this works on Travis CI.

Currently each invocation of linty_fresh can only accept one lint file, but this will likely change.

Supported Linters