Browse Source
👷♂️ sync DINAR
👷♂️ sync DINAR
Pushed from https://github.com/itpp-labs/DINAR/.github/workflows/fork2repos.ymlpull/262/head
Mark Demo
5 years ago
15 changed files with 723 additions and 0 deletions
-
2.DINAR/image/README.md
-
1.DINAR/image/dependencies/pip.txt
-
29.DINAR/image/src/addons.yaml
-
12.DINAR/image/src/repos.yaml
-
7.DINAR/volumes/addons.yaml
-
20.editorconfig
-
181.eslintrc.yml
-
11.flake8
-
94.github/workflows/DINAR-pr.yml
-
86.github/workflows/DINAR.yml
-
12.isort.cfg
-
109.pre-commit-config.yaml
-
7.prettierrc.yml
-
87.pylintrc
-
65.pylintrc-mandatory
@ -0,0 +1,2 @@ |
|||||
|
This folder is attached on image building as `custom/` folder in [doobba](https://github.com/Tecnativa/doodba#image-usage). |
||||
|
Few additional [files](https://github.com/itpp-labs/DINAR/tree/master/embedded-files/.DINAR/image) are attached temporary on image building. |
@ -0,0 +1 @@ |
|||||
|
# Python dependencies |
@ -0,0 +1,29 @@ |
|||||
|
# see https://github.com/Tecnativa/doodba#optodoocustomsrcaddonsyaml |
||||
|
|
||||
|
--- |
||||
|
ENV: |
||||
|
DEFAULT_REPO_PATTERN: https://github.com/it-projects-llc/{}.git |
||||
|
|
||||
|
web: |
||||
|
- "*" |
||||
|
|
||||
|
--- |
||||
|
ENV: |
||||
|
DEFAULT_REPO_PATTERN: https://github.com/it-projects-llc/{}.git |
||||
|
|
||||
|
access-addons: |
||||
|
- "*" |
||||
|
|
||||
|
--- |
||||
|
ENV: |
||||
|
DEFAULT_REPO_PATTERN: https://github.com/it-projects-llc/{}.git |
||||
|
|
||||
|
misc-addons: |
||||
|
- "*" |
||||
|
|
||||
|
--- |
||||
|
ENV: |
||||
|
DEFAULT_REPO_PATTERN: https://github.com/it-projects-llc/{}.git |
||||
|
|
||||
|
website-addons: |
||||
|
- "*" |
@ -0,0 +1,12 @@ |
|||||
|
# Documentation: https://github.com/Tecnativa/doodba#optodoocustomsrcreposyaml |
||||
|
|
||||
|
# Odoo source. |
||||
|
# Update this section to switch to OCA/OCB or apply custom patches |
||||
|
odoo: |
||||
|
defaults: |
||||
|
depth: 1 |
||||
|
remotes: |
||||
|
origin: https://github.com/odoo/odoo.git |
||||
|
target: origin $ODOO_VERSION |
||||
|
merges: |
||||
|
- origin $ODOO_VERSION |
@ -0,0 +1,7 @@ |
|||||
|
# list of modules to install before running tests |
||||
|
base-addons: |
||||
|
- sale,stock,contacts |
||||
|
|
||||
|
# list of modules that will not be installed at any case |
||||
|
excluded-addons: |
||||
|
- hw_proxy |
@ -0,0 +1,20 @@ |
|||||
|
# Configuration for known file extensions |
||||
|
[*.{css,js,json,less,md,py,rst,sass,scss,xml,yaml,yml}] |
||||
|
charset = utf-8 |
||||
|
end_of_line = lf |
||||
|
indent_size = 4 |
||||
|
indent_style = space |
||||
|
insert_final_newline = true |
||||
|
trim_trailing_whitespace = true |
||||
|
|
||||
|
[*.{json,yml,yaml,rst,md}] |
||||
|
indent_size = 2 |
||||
|
|
||||
|
# Do not configure editor for libs and autogenerated content |
||||
|
[{*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst}] |
||||
|
charset = unset |
||||
|
end_of_line = unset |
||||
|
indent_size = unset |
||||
|
indent_style = unset |
||||
|
insert_final_newline = false |
||||
|
trim_trailing_whitespace = false |
@ -0,0 +1,181 @@ |
|||||
|
env: |
||||
|
browser: true |
||||
|
|
||||
|
# See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449 |
||||
|
parserOptions: |
||||
|
ecmaVersion: 2017 |
||||
|
|
||||
|
# Globals available in Odoo that shouldn't produce errorings |
||||
|
globals: |
||||
|
_: readonly |
||||
|
$: readonly |
||||
|
fuzzy: readonly |
||||
|
jQuery: readonly |
||||
|
moment: readonly |
||||
|
odoo: readonly |
||||
|
openerp: readonly |
||||
|
Promise: readonly |
||||
|
|
||||
|
# Styling is handled by Prettier, so we only need to enable AST rules; |
||||
|
# see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890 |
||||
|
rules: |
||||
|
accessor-pairs: warn |
||||
|
array-callback-return: warn |
||||
|
callback-return: warn |
||||
|
capitalized-comments: |
||||
|
- warn |
||||
|
- always |
||||
|
- ignoreConsecutiveComments: true |
||||
|
ignoreInlineComments: true |
||||
|
complexity: |
||||
|
- warn |
||||
|
- 15 |
||||
|
constructor-super: warn |
||||
|
dot-notation: warn |
||||
|
eqeqeq: warn |
||||
|
global-require: warn |
||||
|
handle-callback-err: warn |
||||
|
id-blacklist: warn |
||||
|
id-match: warn |
||||
|
init-declarations: error |
||||
|
max-depth: warn |
||||
|
max-nested-callbacks: warn |
||||
|
max-statements-per-line: warn |
||||
|
no-alert: warn |
||||
|
no-array-constructor: warn |
||||
|
no-caller: warn |
||||
|
no-case-declarations: warn |
||||
|
no-class-assign: warn |
||||
|
no-cond-assign: error |
||||
|
no-const-assign: error |
||||
|
no-constant-condition: warn |
||||
|
no-control-regex: warn |
||||
|
no-debugger: error |
||||
|
no-delete-var: warn |
||||
|
no-div-regex: warn |
||||
|
no-dupe-args: error |
||||
|
no-dupe-class-members: error |
||||
|
no-dupe-keys: error |
||||
|
no-duplicate-case: error |
||||
|
no-duplicate-imports: error |
||||
|
no-else-return: warn |
||||
|
no-empty-character-class: warn |
||||
|
no-empty-function: error |
||||
|
no-empty-pattern: error |
||||
|
no-empty: warn |
||||
|
no-eq-null: error |
||||
|
no-eval: error |
||||
|
no-ex-assign: error |
||||
|
no-extend-native: warn |
||||
|
no-extra-bind: warn |
||||
|
no-extra-boolean-cast: warn |
||||
|
no-extra-label: warn |
||||
|
no-fallthrough: warn |
||||
|
no-func-assign: error |
||||
|
no-global-assign: error |
||||
|
no-implicit-coercion: |
||||
|
- warn |
||||
|
- allow: ["~"] |
||||
|
no-implicit-globals: warn |
||||
|
no-implied-eval: warn |
||||
|
no-inline-comments: warn |
||||
|
no-inner-declarations: warn |
||||
|
no-invalid-regexp: warn |
||||
|
no-irregular-whitespace: warn |
||||
|
no-iterator: warn |
||||
|
no-label-var: warn |
||||
|
no-labels: warn |
||||
|
no-lone-blocks: warn |
||||
|
no-lonely-if: error |
||||
|
no-mixed-requires: error |
||||
|
no-multi-str: warn |
||||
|
no-native-reassign: error |
||||
|
no-negated-condition: warn |
||||
|
no-negated-in-lhs: error |
||||
|
no-new-func: warn |
||||
|
no-new-object: warn |
||||
|
no-new-require: warn |
||||
|
no-new-symbol: warn |
||||
|
no-new-wrappers: warn |
||||
|
no-new: warn |
||||
|
no-obj-calls: warn |
||||
|
no-octal-escape: warn |
||||
|
no-octal: warn |
||||
|
no-path-concat: warn |
||||
|
no-process-env: warn |
||||
|
no-process-exit: warn |
||||
|
no-proto: warn |
||||
|
no-prototype-builtins: warn |
||||
|
no-redeclare: warn |
||||
|
no-regex-spaces: warn |
||||
|
no-restricted-globals: warn |
||||
|
no-restricted-imports: warn |
||||
|
no-restricted-modules: warn |
||||
|
no-restricted-syntax: warn |
||||
|
no-return-assign: error |
||||
|
no-script-url: warn |
||||
|
no-self-assign: warn |
||||
|
no-self-compare: warn |
||||
|
no-sequences: warn |
||||
|
no-shadow-restricted-names: warn |
||||
|
no-shadow: warn |
||||
|
no-sparse-arrays: warn |
||||
|
no-sync: warn |
||||
|
no-this-before-super: warn |
||||
|
no-throw-literal: warn |
||||
|
no-undef-init: warn |
||||
|
no-undef: error |
||||
|
no-unmodified-loop-condition: warn |
||||
|
no-unneeded-ternary: error |
||||
|
no-unreachable: error |
||||
|
no-unsafe-finally: error |
||||
|
no-unused-expressions: error |
||||
|
no-unused-labels: error |
||||
|
no-unused-vars: |
||||
|
- error |
||||
|
- args: none |
||||
|
no-use-before-define: error |
||||
|
no-useless-call: warn |
||||
|
no-useless-computed-key: warn |
||||
|
no-useless-concat: warn |
||||
|
no-useless-constructor: warn |
||||
|
no-useless-escape: warn |
||||
|
no-useless-rename: warn |
||||
|
no-void: warn |
||||
|
no-with: warn |
||||
|
operator-assignment: [error, always] |
||||
|
prefer-const: warn |
||||
|
radix: warn |
||||
|
require-yield: warn |
||||
|
sort-imports: warn |
||||
|
spaced-comment: [error, always] |
||||
|
strict: [error, function] |
||||
|
use-isnan: error |
||||
|
valid-jsdoc: |
||||
|
- warn |
||||
|
- prefer: |
||||
|
arg: param |
||||
|
argument: param |
||||
|
augments: extends |
||||
|
constructor: class |
||||
|
exception: throws |
||||
|
func: function |
||||
|
method: function |
||||
|
prop: property |
||||
|
return: returns |
||||
|
virtual: abstract |
||||
|
yield: yields |
||||
|
preferType: |
||||
|
array: Array |
||||
|
bool: Boolean |
||||
|
boolean: Boolean |
||||
|
number: Number |
||||
|
object: Object |
||||
|
str: String |
||||
|
string: String |
||||
|
requireParamDescription: false |
||||
|
requireReturn: false |
||||
|
requireReturnDescription: false |
||||
|
requireReturnType: false |
||||
|
valid-typeof: warn |
||||
|
yoda: warn |
@ -0,0 +1,11 @@ |
|||||
|
[flake8] |
||||
|
max-line-length = 80 |
||||
|
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) |
||||
|
# C901: "method is too complex" -- it's too complex to fix existing modules. Disable for now |
||||
|
ignore = E203,E501,W503,B950,C901 |
@ -0,0 +1,94 @@ |
|||||
|
name: "DINAR" |
||||
|
|
||||
|
on: |
||||
|
pull_request: |
||||
|
|
||||
|
jobs: |
||||
|
pre-commit: |
||||
|
name: "pre-commit" |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- name: Checkout Repo |
||||
|
uses: actions/checkout@v2 |
||||
|
- uses: actions/setup-python@v1 |
||||
|
with: |
||||
|
python-version: "3.7.x" |
||||
|
- name: Check Python Version |
||||
|
run: |
||||
|
echo "::set-env name=PY::$(python --version --version | sha256sum | cut -d' ' |
||||
|
-f1)" |
||||
|
- uses: actions/cache@v1 |
||||
|
with: |
||||
|
path: ~/.cache/pre-commit |
||||
|
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} |
||||
|
- uses: pre-commit/action@v1.0.1 |
||||
|
|
||||
|
review: |
||||
|
name: "Quick Review" |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- name: Checkout Repo |
||||
|
uses: actions/checkout@v2 |
||||
|
with: |
||||
|
path: REPO |
||||
|
- name: Checkout DINAR |
||||
|
uses: actions/checkout@v2 |
||||
|
with: |
||||
|
path: DINAR |
||||
|
repository: itpp-labs/DINAR |
||||
|
ref: master # TODO: use fixed version |
||||
|
- uses: actions/setup-python@v1 |
||||
|
with: |
||||
|
python-version: "3.7.x" |
||||
|
- name: Install python tools |
||||
|
run: | |
||||
|
pip install plumbum PyGithub |
||||
|
- name: Analyze PR |
||||
|
run: | |
||||
|
# sets environment variables that available in next steps via $ {{ env.PR_... }} notation |
||||
|
cd REPO |
||||
|
python ../DINAR/workflow-files/analyze-pr.py ${{ secrets.GITHUB_TOKEN }} ${{ github.repository }} ${{ github.event.number }} |
||||
|
- name: HOW TO RUN LOCALLY |
||||
|
#if: "env.PR_UPDATED_MODULES_INSTALLABLE != ''" |
||||
|
run: | |
||||
|
cat << 'EOF' |
||||
|
To test updates run: |
||||
|
|
||||
|
WORKDIR=/tmp/DINAR/${{ github.repository }}-${{ github.event.number }}/ |
||||
|
mkdir -p $WORKDIR |
||||
|
cd $WORKDIR |
||||
|
# TODO use fixed version instead of master |
||||
|
curl https://raw.githubusercontent.com/itpp-labs/DINAR/master/local-files/docker-compose.yml > docker-compose.yml |
||||
|
export REGISTRY=docker.pkg.github.com REPOSITORY=${{ github.repository }} REPO_NAME=$(echo ${{ github.repository }} | sed "s;.*/;;") VERSION=${{ github.event.pull_request.base.ref }} |
||||
|
git clone --depth=1 --branch $VERSION git@github.com:${{ github.repository }} pr-files |
||||
|
# Version in PR |
||||
|
REVISION=${{ github.event.pull_request.head.sha}} |
||||
|
# Version after merging |
||||
|
REVISION=pull/${{ github.event.number}}/merge |
||||
|
git -C pr-files fetch origin $REVISION |
||||
|
git -C pr-files checkout FETCH_HEAD |
||||
|
docker-compose pull |
||||
|
export MODULES=${{ env.PR_UPDATED_MODULES_INSTALLABLE }} |
||||
|
EOF |
||||
|
|
||||
|
if [ "${{ github.event.pull_request.base.ref }}" == "10.0" ]; then |
||||
|
cat << 'EOF' |
||||
|
|
||||
|
# workaround for odoo 10.0 |
||||
|
docker-compose up -d odoo |
||||
|
docker-compose exec odoo click-odoo -i |
||||
|
# EXEC: |
||||
|
# env['ir.module.module'].update_list() |
||||
|
# env.cr.commit() |
||||
|
# exit() |
||||
|
docker-compose stop odoo |
||||
|
|
||||
|
EOF |
||||
|
|
||||
|
fi |
||||
|
|
||||
|
cat << 'EOF' |
||||
|
docker-compose up |
||||
|
EOF |
||||
|
# TODO: post this message when Github guys make access to post message in PR |
||||
|
#> Sent by [DINAR :construction_worker_man:](https://github.com/itpp-labs/DINAR) via `.github/workflows/DINAR-pr.yml` |
@ -0,0 +1,86 @@ |
|||||
|
name: "DINAR: Docker Image Building" |
||||
|
|
||||
|
on: |
||||
|
push: |
||||
|
paths: |
||||
|
- ".DINAR/**" |
||||
|
- ".github/workflows/DINAR.yml" |
||||
|
|
||||
|
schedule: |
||||
|
- cron: "5 5 * * 0" |
||||
|
|
||||
|
jobs: |
||||
|
rebuild-images: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- name: Checkout Repo |
||||
|
uses: actions/checkout@v2 |
||||
|
with: |
||||
|
path: REPO |
||||
|
- name: Checkout DINAR |
||||
|
uses: actions/checkout@v2 |
||||
|
with: |
||||
|
path: DINAR |
||||
|
repository: itpp-labs/DINAR |
||||
|
ref: master |
||||
|
- uses: actions/setup-python@v1 |
||||
|
with: |
||||
|
python-version: "3.7.x" |
||||
|
- name: Prepare build folder |
||||
|
run: | |
||||
|
cp -rnT DINAR/embedded-files/ REPO/ |
||||
|
|
||||
|
- name: Set vars |
||||
|
run: | |
||||
|
REF="${{ github.ref }}" |
||||
|
BRANCH=${REF##*/} |
||||
|
REPOSITORY="${{ github.repository }}" |
||||
|
REPO_NAME=${REPOSITORY##*/} |
||||
|
IMAGE_CODE=$REPO_NAME:$BRANCH |
||||
|
ODOO_VERSION="$(echo $BRANCH | python DINAR/workflow-files/branch2odoo_version.py)" |
||||
|
echo "ODOO_VERSION=$ODOO_VERSION" |
||||
|
echo "::set-env name=ODOO_VERSION::$ODOO_VERSION" |
||||
|
echo "::set-env name=IMAGE_ODOO_BASE::${{ github.repository }}/dinar-deps-$IMAGE_CODE" |
||||
|
echo "::set-env name=IMAGE_CODE::$IMAGE_CODE" |
||||
|
# Registry credentials. External registry potentially can be customized here |
||||
|
echo "::set-env name=REGISTRY::docker.pkg.github.com" |
||||
|
echo "::set-env name=REGISTRY_USERNAME::${{ github.actor }}" |
||||
|
echo "::set-env name=REGISTRY_PASSWORD::${{ secrets.DINAR_TOKEN }}" |
||||
|
- name: Handle Dependencies |
||||
|
uses: elgohr/Publish-Docker-Github-Action@master |
||||
|
env: |
||||
|
LOCAL_CUSTOM_DIR: ./image |
||||
|
AGGREGATE: true |
||||
|
PIP_INSTALL_ODOO: false |
||||
|
CLEAN: false |
||||
|
COMPILE: false |
||||
|
with: |
||||
|
name: ${{ env.IMAGE_ODOO_BASE }} |
||||
|
registry: ${{ env.REGISTRY }} |
||||
|
username: ${{ env.REGISTRY_USERNAME }} |
||||
|
password: ${{ env.REGISTRY_PASSWORD }} |
||||
|
buildargs: ODOO_VERSION,AGGREGATE,PIP_INSTALL_ODOO,CLEAN,COMPILE,LOCAL_CUSTOM_DIR |
||||
|
workdir: REPO/.DINAR/ |
||||
|
cache: ${{ github.event_name != 'schedule' }} |
||||
|
- name: Install shyaml |
||||
|
run: | |
||||
|
pip install shyaml |
||||
|
- name: Install Base Addons |
||||
|
run: | |
||||
|
# authenticate |
||||
|
echo "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USERNAME" --password-stdin "$REGISTRY" |
||||
|
|
||||
|
# convert "base-addons" list to comma-separated list |
||||
|
export MODULES=$(cat REPO/.DINAR/volumes/addons.yaml | shyaml get-values base-addons | xargs | sed "s/ /,/g") |
||||
|
export DB_VERSION=10 |
||||
|
export REPOSITORY=${{ github.repository }} |
||||
|
|
||||
|
export DOODBA_WITHOUT_DEMO=all |
||||
|
export IMAGE_DB=${{ github.repository }}/dinar-db-nodemo-$IMAGE_CODE |
||||
|
export IMAGE_ODOO=${{ github.repository }}/dinar-odoo-nodemo-$IMAGE_CODE |
||||
|
bash DINAR/workflow-files/images-with-preinstalled-modules.sh |
||||
|
|
||||
|
export DOODBA_WITHOUT_DEMO=false |
||||
|
export IMAGE_DB=${{ github.repository }}/dinar-db-$IMAGE_CODE |
||||
|
export IMAGE_ODOO=${{ github.repository }}/dinar-odoo-$IMAGE_CODE |
||||
|
bash DINAR/workflow-files/images-with-preinstalled-modules.sh |
@ -0,0 +1,12 @@ |
|||||
|
[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 |
||||
|
known_third_party= |
@ -0,0 +1,109 @@ |
|||||
|
exclude: | |
||||
|
(?x) |
||||
|
# Files and folders generated by bots, to avoid loops |
||||
|
^setup/|/static/description/index\.html$| |
||||
|
# 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 |
||||
|
repos: |
||||
|
- repo: https://github.com/humitos/mirrors-autoflake |
||||
|
rev: v1.3 |
||||
|
hooks: |
||||
|
- id: autoflake |
||||
|
args: |
||||
|
[ |
||||
|
"--exclude", |
||||
|
"__init__.py", |
||||
|
"--in-place", |
||||
|
"--remove-all-unused-imports", |
||||
|
"--remove-unused-variable", |
||||
|
] |
||||
|
- repo: https://github.com/psf/black |
||||
|
rev: 19.10b0 |
||||
|
hooks: |
||||
|
- id: black |
||||
|
- repo: https://github.com/prettier/prettier |
||||
|
rev: "1.19.1" |
||||
|
hooks: |
||||
|
- id: prettier |
||||
|
# TODO Avoid awebdeveloper/pre-commit-prettier if possible |
||||
|
# HACK https://github.com/prettier/prettier/issues/7407 |
||||
|
- repo: https://github.com/awebdeveloper/pre-commit-prettier |
||||
|
rev: v0.0.1 |
||||
|
hooks: |
||||
|
- id: prettier |
||||
|
name: prettier xml plugin |
||||
|
additional_dependencies: |
||||
|
- "prettier@1.19.1" |
||||
|
- "@prettier/plugin-xml@0.5.0" |
||||
|
files: \.xml$ |
||||
|
- repo: https://github.com/pre-commit/mirrors-eslint |
||||
|
rev: v6.8.0 |
||||
|
hooks: |
||||
|
- id: eslint |
||||
|
verbose: true |
||||
|
args: |
||||
|
- --color |
||||
|
- --fix |
||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks |
||||
|
rev: v2.4.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: flake8 |
||||
|
name: flake8 except __init__.py |
||||
|
exclude: /__init__\.py$ |
||||
|
args: ["--extend-ignore=B301,F821"] # B301,F821 are python3 only |
||||
|
additional_dependencies: ["flake8-bugbear==19.8.0"] |
||||
|
- id: flake8 |
||||
|
name: flake8 only __init__.py |
||||
|
args: ["--extend-ignore=F401"] # ignore unused imports in __init__.py |
||||
|
files: /__init__\.py$ |
||||
|
additional_dependencies: ["flake8-bugbear==19.8.0"] |
||||
|
- id: fix-encoding-pragma |
||||
|
- id: check-case-conflict |
||||
|
- id: check-docstring-first |
||||
|
- id: check-executables-have-shebangs |
||||
|
- id: check-merge-conflict |
||||
|
- id: check-symlinks |
||||
|
- id: check-xml |
||||
|
- id: mixed-line-ending |
||||
|
args: ["--fix=lf"] |
||||
|
- repo: https://github.com/pre-commit/mirrors-pylint |
||||
|
rev: v2.3.1 |
||||
|
hooks: |
||||
|
- id: pylint |
||||
|
name: pylint with optional checks |
||||
|
args: ["--rcfile=.pylintrc", "--exit-zero"] |
||||
|
verbose: true |
||||
|
additional_dependencies: ["pylint-odoo==3.0.3"] |
||||
|
- id: pylint |
||||
|
name: pylint with mandatory checks |
||||
|
args: ["--rcfile=.pylintrc-mandatory"] |
||||
|
additional_dependencies: ["pylint-odoo==3.0.3"] |
||||
|
- repo: https://github.com/asottile/pyupgrade |
||||
|
rev: v1.26.2 |
||||
|
hooks: |
||||
|
- id: pyupgrade |
||||
|
- repo: https://github.com/asottile/seed-isort-config |
||||
|
rev: v1.9.4 |
||||
|
hooks: |
||||
|
- id: seed-isort-config |
||||
|
- repo: https://github.com/pre-commit/mirrors-isort |
||||
|
rev: v4.3.21 |
||||
|
hooks: |
||||
|
- id: isort |
||||
|
name: isort except __init__.py |
||||
|
exclude: /__init__\.py$ |
@ -0,0 +1,7 @@ |
|||||
|
# 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" |
@ -0,0 +1,87 @@ |
|||||
|
[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=IT-Projects Labs |
||||
|
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,MIT,OPL-1 |
||||
|
valid_odoo_versions=10.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, |
||||
|
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, |
||||
|
missing-import-error, |
||||
|
missing-manifest-dependency, |
||||
|
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-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 |
@ -0,0 +1,65 @@ |
|||||
|
[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=IT-Projects Labs |
||||
|
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,MIT,OPL-1 |
||||
|
valid_odoo_versions=10.0 |
||||
|
|
||||
|
[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, |
||||
|
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, |
||||
|
missing-import-error, |
||||
|
missing-manifest-dependency, |
||||
|
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 |
||||
|
|
||||
|
[REPORTS] |
||||
|
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} |
||||
|
output-format=colorized |
||||
|
reports=no |
Write
Preview
Loading…
Cancel
Save
Reference in new issue