-
-
Notifications
You must be signed in to change notification settings - Fork 173
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 #317 from Tecnativa/imp-gh_workflows
[IMP] Use pre-commit through GH workflow for formatting
- Loading branch information
Showing
30 changed files
with
2,311 additions
and
1,336 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,36 @@ | ||
name: pre-commit | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- "*" | ||
push: | ||
branches: | ||
- "master" | ||
|
||
jobs: | ||
pre-commit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: "3.8" | ||
- 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 | ||
- 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,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,106 @@ | ||
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/.*$| | ||
# You don't usually want a bot to modify your legal texts | ||
(LICENSE.*|COPYING.*) | ||
default_language_version: | ||
python: python3 | ||
node: "16.17.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/myint/autoflake | ||
rev: v1.6.1 | ||
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.8.0 | ||
hooks: | ||
- id: black | ||
- repo: https://github.com/pre-commit/mirrors-prettier | ||
rev: v2.7.1 | ||
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/pre-commit-hooks | ||
rev: v4.3.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: 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/PyCQA/isort | ||
rev: 5.12.0 | ||
hooks: | ||
- id: isort | ||
name: isort except __init__.py | ||
args: | ||
- --settings=. | ||
exclude: /__init__\.py$ | ||
- repo: https://github.com/PyCQA/flake8 | ||
rev: 3.9.2 | ||
hooks: | ||
- id: flake8 | ||
name: flake8 | ||
additional_dependencies: ["flake8-bugbear==21.9.2"] | ||
- 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,107 @@ | ||
|
||
|
||
[MASTER] | ||
load-plugins=pylint_odoo | ||
score=n | ||
|
||
[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, | ||
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, | ||
attribute-string-redundant, | ||
character-not-valid-in-resource-link, | ||
consider-merging-classes-inherited, | ||
context-overridden, | ||
create-user-wo-reset-password, | ||
dangerous-filter-wo-user, | ||
dangerous-qweb-replace-wo-priority, | ||
deprecated-data-xml-node, | ||
deprecated-openerp-xml-node, | ||
duplicate-po-message-definition, | ||
except-pass, | ||
file-not-used, | ||
invalid-commit, | ||
manifest-maintainers-list, | ||
missing-newline-extrafiles, | ||
missing-return, | ||
odoo-addons-relative-import, | ||
old-api7-method-defined, | ||
po-msgstr-variables, | ||
po-syntax-error, | ||
renamed-field-parameter, | ||
resource-not-exist, | ||
str-format-used, | ||
test-folder-imported, | ||
translation-contains-variable, | ||
translation-positional-used, | ||
unnecessary-utf8-coding-comment, | ||
website-manifest-key-not-valid-uri, | ||
xml-attribute-translatable, | ||
xml-deprecated-qweb-directive, | ||
xml-deprecated-tree-attribute, | ||
external-request-timeout, | ||
# 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, | ||
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 |
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,96 @@ | ||
|
||
[MASTER] | ||
load-plugins=pylint_odoo | ||
score=n | ||
|
||
[ODOOLINT] | ||
readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst" | ||
manifest_required_authors=Odoo Community Association (OCA) | ||
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 | ||
|
||
[MESSAGES CONTROL] | ||
disable=all | ||
|
||
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, | ||
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, | ||
attribute-string-redundant, | ||
character-not-valid-in-resource-link, | ||
consider-merging-classes-inherited, | ||
context-overridden, | ||
create-user-wo-reset-password, | ||
dangerous-filter-wo-user, | ||
dangerous-qweb-replace-wo-priority, | ||
deprecated-data-xml-node, | ||
deprecated-openerp-xml-node, | ||
duplicate-po-message-definition, | ||
except-pass, | ||
file-not-used, | ||
invalid-commit, | ||
manifest-maintainers-list, | ||
missing-newline-extrafiles, | ||
missing-readme, | ||
missing-return, | ||
odoo-addons-relative-import, | ||
old-api7-method-defined, | ||
po-msgstr-variables, | ||
po-syntax-error, | ||
renamed-field-parameter, | ||
resource-not-exist, | ||
str-format-used, | ||
test-folder-imported, | ||
translation-contains-variable, | ||
translation-positional-used, | ||
unnecessary-utf8-coding-comment, | ||
website-manifest-key-not-valid-uri, | ||
xml-attribute-translatable, | ||
xml-deprecated-qweb-directive, | ||
xml-deprecated-tree-attribute, | ||
external-request-timeout | ||
|
||
[REPORTS] | ||
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} | ||
output-format=colorized | ||
reports=no |
Oops, something went wrong.