mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-03-25 13:07:37 +00:00
Merge pull request #798 from jaraco/3398.pre-commit
Add pre-commit hook definition for flake8.
This commit is contained in:
commit
587d9ef873
6
.pre-commit-config.yaml
Normal file
6
.pre-commit-config.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
repos:
|
||||
- repo: https://gitlab.com/pycqa/flake8
|
||||
# TODO: update rev periodically to keep up with tox
|
||||
rev: 3.8.3
|
||||
hooks:
|
||||
- id: flake8
|
44
docs/developer-guide.rst
Normal file
44
docs/developer-guide.rst
Normal file
@ -0,0 +1,44 @@
|
||||
Developer Guide
|
||||
===============
|
||||
|
||||
|
||||
Pre-commit Checks
|
||||
-----------------
|
||||
|
||||
This project is configured for use with `pre-commit <https://pre-commit.com>`_ to perform some static code analysis checks. By default, pre-commit behavior is disabled. To enable pre-commit in a local checkout, first install pre-commit (consider using `pipx <https://pipxproject.github.io/pipx/>`_), then install the hooks with ``pre-commit install``.
|
||||
|
||||
For example::
|
||||
|
||||
tahoe-lafs $ pre-commit install
|
||||
pre-commit installed at .git/hooks/pre-commit
|
||||
tahoe-lafs $ python -c "import pathlib; pathlib.Path('src/allmydata/tabbed.py').write_text('def foo():\\n\\tpass\\n')"
|
||||
tahoe-lafs $ git add src/allmydata/tabbed.py
|
||||
tahoe-lafs $ git commit -a -m "Add a file that violates flake8"
|
||||
flake8...................................................................Failed
|
||||
- hook id: flake8
|
||||
- exit code: 1
|
||||
|
||||
src/allmydata/tabbed.py:2:1: W191 indentation contains tabs
|
||||
|
||||
To uninstall::
|
||||
|
||||
tahoe-lafs $ pre-commit uninstall
|
||||
pre-commit uninstalled
|
||||
|
||||
|
||||
Some find running linters on every commit to be a nuisance. To avoid the checks triggering during commits, but to check before pushing to the CI, install the hook for pre-push instead::
|
||||
|
||||
tahoe-lafs $ pre-commit install -t pre-push
|
||||
pre-commit installed at .git/hooks/pre-push
|
||||
tahoe-lafs $ git commit -a -m "Add a file that violates flake8"
|
||||
[3398.pre-commit 29f8f43d2] Add a file that violates flake8
|
||||
1 file changed, 2 insertions(+)
|
||||
create mode 100644 src/allmydata/tabbed.py
|
||||
tahoe-lafs $ git push
|
||||
flake8...................................................................Failed
|
||||
- hook id: flake8
|
||||
- exit code: 1
|
||||
|
||||
src/allmydata/tabbed.py:2:1: W191 indentation contains tabs
|
||||
|
||||
error: failed to push some refs to 'github.com:jaraco/tahoe-lafs.git'
|
@ -39,6 +39,8 @@ Contents:
|
||||
write_coordination
|
||||
backupdb
|
||||
|
||||
developer-guide
|
||||
|
||||
anonymity-configuration
|
||||
|
||||
nodekeys
|
||||
|
1
newsfragments/3398.minor
Normal file
1
newsfragments/3398.minor
Normal file
@ -0,0 +1 @@
|
||||
Added pre-commit config to run flake8 checks on commit/push.
|
Loading…
x
Reference in New Issue
Block a user