-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #19 from CristianoMafraJunior/14.0-pre-commit-config
[ADD] pre-commit
- Loading branch information
Showing
109 changed files
with
1,169 additions
and
404 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
[flake8] | ||
max-line-length = 88 | ||
max-complexity = 16 | ||
# B = bugbear | ||
# B9 = bugbear opinionated (incl line length) | ||
select = C,E,F,W,B,B9 | ||
# E203: whitespace before ':' (black behaviour) | ||
# E501: flake8 line length (covered by bugbear B950) | ||
# W503: line break before binary operator (black behaviour) | ||
ignore = E203,E501,W503 | ||
per-file-ignores= | ||
__init__.py:F401 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: pre-commit | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
pre-commit: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: "3.11" | ||
- name: Get python version | ||
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV | ||
- uses: actions/cache@v1 | ||
with: | ||
path: ~/.cache/pre-commit | ||
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} | ||
- name: Install pre-commit | ||
run: pip install pre-commit | ||
- name: Run pre-commit | ||
run: pre-commit run --all-files --show-diff-on-failure --color=always | ||
env: | ||
# Consider valid a PR that changes README fragments but doesn't | ||
# change the README.rst file itself. It's not really a problem | ||
# because the bot will update it anyway after merge. This way, we | ||
# lower the barrier for functional contributors that want to fix the | ||
# readme fragments, while still letting developers get README | ||
# auto-generated (which also helps functionals when using runboat). | ||
# DOCS https://pre-commit.com/#temporarily-disabling-hooks | ||
SKIP: oca-gen-addon-readme | ||
- name: Check that all files generated by pre-commit are in git | ||
run: | | ||
newfiles="$(git ls-files --others --exclude-from=.gitignore)" | ||
if [ "$newfiles" != "" ] ; then | ||
echo "Please check-in the following files:" | ||
echo "$newfiles" | ||
exit 1 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
/.venv | ||
/.pytest_cache | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Distribution / packaging | ||
.Python | ||
env/ | ||
bin/ | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
eggs/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
*.eggs | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.coverage | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
|
||
# Translations | ||
*.mo | ||
|
||
# Pycharm | ||
.idea | ||
|
||
# Eclipse | ||
.settings | ||
|
||
# Visual Studio cache/options directory | ||
.vs/ | ||
.vscode | ||
|
||
# OSX Files | ||
.DS_Store | ||
|
||
# Django stuff: | ||
*.log | ||
|
||
# Mr Developer | ||
.mr.developer.cfg | ||
.project | ||
.pydevproject | ||
|
||
# Rope | ||
.ropeproject | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# Backup files | ||
*~ | ||
*.swp | ||
|
||
# OCA rules | ||
!static/lib/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
[settings] | ||
; see https://github.com/psf/black | ||
multi_line_output=3 | ||
include_trailing_comma=True | ||
force_grid_wrap=0 | ||
combine_as_imports=True | ||
use_parentheses=True | ||
line_length=88 | ||
known_odoo=odoo | ||
known_odoo_addons=odoo.addons | ||
sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER | ||
default_section=THIRDPARTY | ||
ensure_newline_before_comments = True |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
exclude: | | ||
(?x) | ||
# NOT INSTALLABLE ADDONS | ||
# END NOT INSTALLABLE ADDONS | ||
# Files and folders generated by bots, to avoid loops | ||
^setup/|/static/description/index\.html$| | ||
# We don't want to mess with tool-generated files | ||
.svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/| | ||
# Maybe reactivate this when all README files include prettier ignore tags? | ||
^README\.md$| | ||
# Library files can have extraneous formatting (even minimized) | ||
/static/(src/)?lib/| | ||
# Repos using Sphinx to generate docs don't need prettying | ||
^docs/_templates/.*\.html$| | ||
# You don't usually want a bot to modify your legal texts | ||
(LICENSE.*|COPYING.*) | ||
default_language_version: | ||
python: python3 | ||
node: "14.13.0" | ||
repos: | ||
- repo: local | ||
hooks: | ||
# These files are most likely copier diff rejection junks; if found, | ||
# review them manually, fix the problem (if needed) and remove them | ||
- id: forbidden-files | ||
name: forbidden files | ||
entry: found forbidden files; remove them | ||
language: fail | ||
files: "\\.rej$" | ||
- id: en-po-files | ||
name: en.po files cannot exist | ||
entry: found a en.po file | ||
language: fail | ||
files: '[a-zA-Z0-9_]*/i18n/en\.po$' | ||
- repo: https://github.com/oca/maintainer-tools | ||
rev: 969238e47c07d0c40573acff81d170f63245d738 | ||
hooks: | ||
# update the NOT INSTALLABLE ADDONS section above | ||
- id: oca-update-pre-commit-excluded-addons | ||
- id: oca-fix-manifest-website | ||
args: ["https://engenere.one"] | ||
- repo: https://github.com/myint/autoflake | ||
rev: v1.4 | ||
hooks: | ||
- id: autoflake | ||
args: | ||
- --expand-star-imports | ||
- --ignore-init-module-imports | ||
- --in-place | ||
- --remove-all-unused-imports | ||
- --remove-duplicate-keys | ||
- --remove-unused-variables | ||
- repo: https://github.com/psf/black | ||
rev: 22.3.0 | ||
hooks: | ||
- id: black | ||
- repo: https://github.com/pre-commit/mirrors-prettier | ||
rev: v2.1.2 | ||
hooks: | ||
- id: prettier | ||
name: prettier (with plugin-xml) | ||
additional_dependencies: | ||
- "[email protected]" | ||
- "@prettier/[email protected]" | ||
args: | ||
- --plugin=@prettier/plugin-xml | ||
files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$ | ||
- repo: https://github.com/pre-commit/mirrors-eslint | ||
rev: v7.8.1 | ||
hooks: | ||
- id: eslint | ||
verbose: true | ||
args: | ||
- --color | ||
- --fix | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v3.2.0 | ||
hooks: | ||
- id: trailing-whitespace | ||
# exclude autogenerated files | ||
exclude: /README\.rst$|\.pot?$ | ||
- id: end-of-file-fixer | ||
# exclude autogenerated files | ||
exclude: /README\.rst$|\.pot?$ | ||
- id: debug-statements | ||
- id: fix-encoding-pragma | ||
args: ["--remove"] | ||
- id: check-case-conflict | ||
- id: check-docstring-first | ||
- id: check-executables-have-shebangs | ||
- id: check-merge-conflict | ||
# exclude files where underlines are not distinguishable from merge conflicts | ||
exclude: /README\.rst$|^docs/.*\.rst$ | ||
- id: check-symlinks | ||
- id: check-xml | ||
- id: mixed-line-ending | ||
args: ["--fix=lf"] | ||
- repo: https://github.com/asottile/pyupgrade | ||
rev: v2.7.2 | ||
hooks: | ||
- id: pyupgrade | ||
args: ["--keep-percent-format"] | ||
- repo: https://github.com/PyCQA/isort | ||
rev: 5.12.0 | ||
hooks: | ||
- id: isort | ||
name: isort except __init__.py | ||
args: | ||
- --settings=. | ||
exclude: /__init__\.py$ | ||
- repo: https://github.com/acsone/setuptools-odoo | ||
rev: 3.1.8 | ||
hooks: | ||
- id: setuptools-odoo-make-default | ||
- id: setuptools-odoo-get-requirements | ||
args: | ||
- --output | ||
- requirements.txt | ||
- --header | ||
- "# generated from manifests external_dependencies" | ||
- repo: https://github.com/PyCQA/flake8 | ||
rev: 3.8.3 | ||
hooks: | ||
- id: flake8 | ||
name: flake8 | ||
additional_dependencies: ["flake8-bugbear==20.1.4"] | ||
- repo: https://github.com/OCA/pylint-odoo | ||
rev: 7.0.2 | ||
hooks: | ||
- id: pylint_odoo | ||
name: pylint with optional checks | ||
args: | ||
- --rcfile=.pylintrc | ||
- --exit-zero | ||
verbose: true | ||
- id: pylint_odoo | ||
args: | ||
- --rcfile=.pylintrc-mandatory |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Defaults for all prettier-supported languages. | ||
# Prettier will complete this with settings from .editorconfig file. | ||
bracketSpacing: false | ||
printWidth: 88 | ||
proseWrap: always | ||
semi: true | ||
trailingComma: "es5" | ||
xmlWhitespaceSensitivity: "strict" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
|
||
|
||
[MASTER] | ||
load-plugins=pylint_odoo | ||
score=n | ||
|
||
[ODOOLINT] | ||
manifest_required_authors=Engenere | ||
manifest_required_keys=license | ||
manifest_deprecated_keys=description,active | ||
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3 | ||
valid_odoo_versions=14.0 | ||
|
||
[MESSAGES CONTROL] | ||
disable=all | ||
|
||
# This .pylintrc contains optional AND mandatory checks and is meant to be | ||
# loaded in an IDE to have it check everything, in the hope this will make | ||
# optional checks more visible to contributors who otherwise never look at a | ||
# green travis to see optional checks that failed. | ||
# .pylintrc-mandatory containing only mandatory checks is used the pre-commit | ||
# config as a blocking check. | ||
|
||
enable=anomalous-backslash-in-string, | ||
api-one-deprecated, | ||
api-one-multi-together, | ||
assignment-from-none, | ||
attribute-deprecated, | ||
class-camelcase, | ||
dangerous-default-value, | ||
dangerous-view-replace-wo-priority, | ||
development-status-allowed, | ||
duplicate-id-csv, | ||
duplicate-key, | ||
duplicate-xml-fields, | ||
duplicate-xml-record-id, | ||
eval-referenced, | ||
eval-used, | ||
incoherent-interpreter-exec-perm, | ||
license-allowed, | ||
manifest-author-string, | ||
manifest-deprecated-key, | ||
manifest-required-author, | ||
manifest-required-key, | ||
manifest-version-format, | ||
method-compute, | ||
method-inverse, | ||
method-required-super, | ||
method-search, | ||
openerp-exception-warning, | ||
pointless-statement, | ||
pointless-string-statement, | ||
print-used, | ||
redundant-keyword-arg, | ||
redundant-modulename-xml, | ||
reimported, | ||
relative-import, | ||
return-in-init, | ||
rst-syntax-error, | ||
sql-injection, | ||
too-few-format-args, | ||
translation-field, | ||
translation-required, | ||
unreachable, | ||
use-vim-comment, | ||
wrong-tabs-instead-of-spaces, | ||
xml-syntax-error, | ||
# messages that do not cause the lint step to fail | ||
consider-merging-classes-inherited, | ||
create-user-wo-reset-password, | ||
dangerous-filter-wo-user, | ||
deprecated-module, | ||
file-not-used, | ||
invalid-commit, | ||
missing-manifest-dependency, | ||
missing-newline-extrafiles, | ||
missing-readme, | ||
no-utf8-coding-comment, | ||
odoo-addons-relative-import, | ||
old-api7-method-defined, | ||
redefined-builtin, | ||
too-complex, | ||
unnecessary-utf8-coding-comment | ||
|
||
|
||
[REPORTS] | ||
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} | ||
output-format=colorized | ||
reports=no |
Oops, something went wrong.