From 8b8b1eda397e8092d2870a6d1607a0326f85d0f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Sun, 12 Nov 2023 14:44:34 +0100 Subject: [PATCH] [IMP] dotfiles update for 17.0 --- .copier-answers.yml | 8 +++- .flake8 | 12 ------ .github/workflows/pre-commit.yml | 6 +-- .github/workflows/test.yml | 10 ++--- .gitignore | 1 + .isort.cfg | 13 ------- .pre-commit-config.yaml | 64 ++++++++++---------------------- .pylintrc | 2 +- .pylintrc-mandatory | 2 +- .ruff.toml | 29 +++++++++++++++ README.md | 10 ++--- 11 files changed, 70 insertions(+), 87 deletions(-) delete mode 100644 .flake8 delete mode 100644 .isort.cfg create mode 100644 .ruff.toml diff --git a/.copier-answers.yml b/.copier-answers.yml index 8b12c334d..414da631a 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,7 +1,9 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.17.2 +_commit: v1.19 _src_path: git+https://github.com/OCA/oca-addons-repo-template +additional_ruff_rules: [] ci: GitHub +convert_readme_fragments_to_markdown: true generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} @@ -11,7 +13,7 @@ github_enable_stale_action: true github_enforce_dev_status_compatibility: true include_wkhtmltopdf: false odoo_test_flavor: Both -odoo_version: 16.0 +odoo_version: 17.0 org_name: Odoo Community Association (OCA) org_slug: OCA rebel_module_groups: [] @@ -36,4 +38,6 @@ repo_description: "Management Information System reports for Odoo: easily build repo_name: MIS Builder repo_slug: mis-builder repo_website: https://github.com/OCA/mis-builder +use_pyproject_toml: true +use_ruff: true diff --git a/.flake8 b/.flake8 deleted file mode 100644 index e397e8ed4..000000000 --- a/.flake8 +++ /dev/null @@ -1,12 +0,0 @@ -[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 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 38b0ba110..c58f6292e 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -3,11 +3,11 @@ name: pre-commit on: pull_request: branches: - - "16.0*" + - "17.0*" push: branches: - - "16.0" - - "16.0-ocabot-*" + - "17.0" + - "17.0-ocabot-*" jobs: pre-commit: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e1af7438f..36c22a87b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,11 +3,11 @@ name: tests on: pull_request: branches: - - "16.0*" + - "17.0*" push: branches: - - "16.0" - - "16.0-ocabot-*" + - "17.0" + - "17.0-ocabot-*" jobs: unreleased-deps: @@ -35,9 +35,9 @@ jobs: fail-fast: false matrix: include: - - container: ghcr.io/oca/oca-ci/py3.10-odoo16.0:latest + - container: ghcr.io/oca/oca-ci/py3.10-odoo17.0:latest name: test with Odoo - - container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest + - container: ghcr.io/oca/oca-ci/py3.10-ocb17.0:latest name: test with OCB makepot: "true" services: diff --git a/.gitignore b/.gitignore index 9c283fd41..0090721f5 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ __pycache__/ *.py[cod] /.venv /.pytest_cache +/.ruff_cache # C extensions *.so diff --git a/.isort.cfg b/.isort.cfg deleted file mode 100644 index 0ec187efd..000000000 --- a/.isort.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[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 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b3e995a9f..09ac0f395 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,9 @@ exclude: | (?x) # NOT INSTALLABLE ADDONS + ^mis_builder/| + ^mis_builder_budget/| + ^mis_builder_demo/| # END NOT INSTALLABLE ADDONS # Files and folders generated by bots, to avoid loops ^setup/|/static/description/index\.html$| @@ -14,6 +17,8 @@ exclude: | ^docs/_templates/.*\.html$| # Don't bother non-technical authors with formatting issues in docs readme/.*\.(rst|md)$| + # Ignore build and dist directories in addons + /build/|/dist/| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: @@ -34,8 +39,12 @@ repos: entry: found a en.po file language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' + - repo: https://github.com/sbidoul/whool + rev: v0.5 + hooks: + - id: whool-init - repo: https://github.com/oca/maintainer-tools - rev: 969238e47c07d0c40573acff81d170f63245d738 + rev: f71041f22b8cd68cf7c77b73a14ca8d8cd190a60 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -44,30 +53,18 @@ repos: - id: oca-gen-addon-readme args: - --addons-dir=. - - --branch=16.0 + - --branch=17.0 - --org-name=OCA - --repo-name=mis-builder - --if-source-changed + - --keep-source-digest + - --convert-fragments-to-markdown + - id: oca-gen-external-dependencies - repo: https://github.com/OCA/odoo-pre-commit-hooks rev: v0.0.25 hooks: - id: oca-checks-odoo-module - id: oca-checks-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: @@ -109,35 +106,12 @@ repos: - id: check-xml - id: mixed-line-ending args: ["--fix=lf"] - - repo: https://github.com/asottile/pyupgrade - rev: v2.38.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.9.2 + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.1.3 hooks: - - id: flake8 - name: flake8 - additional_dependencies: ["flake8-bugbear==21.9.2"] + - id: ruff + args: [--fix, --exit-non-zero-on-fix] + - id: ruff-format - repo: https://github.com/OCA/pylint-odoo rev: v8.0.19 hooks: diff --git a/.pylintrc b/.pylintrc index 554913276..874f69669 100644 --- a/.pylintrc +++ b/.pylintrc @@ -10,7 +10,7 @@ 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 -valid-odoo-versions=16.0 +valid-odoo-versions=17.0 [MESSAGES CONTROL] disable=all diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index 7a0cd4efe..0d7ae0807 100644 --- a/.pylintrc-mandatory +++ b/.pylintrc-mandatory @@ -9,7 +9,7 @@ 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 -valid-odoo-versions=16.0 +valid-odoo-versions=17.0 [MESSAGES CONTROL] disable=all diff --git a/.ruff.toml b/.ruff.toml new file mode 100644 index 000000000..634db8e79 --- /dev/null +++ b/.ruff.toml @@ -0,0 +1,29 @@ + +target-version = "py310" +fix = true + +[lint] +extend-select = [ + "B", + "C90", + "I", # isort + "UP", # pyupgrade +] +exclude = ["setup/*"] + +[format] +exclude = ["setup/*"] + +[per-file-ignores] +"__init__.py" = ["F401", "I001"] # ignore unused and unsorted imports in __init__.py +"__manifest__.py" = ["B018"] # useless expression + +[isort] +section-order = ["future", "standard-library", "third-party", "odoo", "odoo-addons", "first-party", "local-folder"] + +[isort.sections] +"odoo" = ["odoo"] +"odoo-addons" = ["odoo.addons"] + +[mccabe] +max-complexity = 16 diff --git a/README.md b/README.md index 1dd90cb7c..5c12a1d28 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -[![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/mis-builder&target_branch=16.0) -[![Pre-commit Status](https://github.com/OCA/mis-builder/actions/workflows/pre-commit.yml/badge.svg?branch=16.0)](https://github.com/OCA/mis-builder/actions/workflows/pre-commit.yml?query=branch%3A16.0) -[![Build Status](https://github.com/OCA/mis-builder/actions/workflows/test.yml/badge.svg?branch=16.0)](https://github.com/OCA/mis-builder/actions/workflows/test.yml?query=branch%3A16.0) -[![codecov](https://codecov.io/gh/OCA/mis-builder/branch/16.0/graph/badge.svg)](https://codecov.io/gh/OCA/mis-builder) -[![Translation Status](https://translation.odoo-community.org/widgets/mis-builder-16-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/mis-builder-16-0/?utm_source=widget) +[![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/mis-builder&target_branch=17.0) +[![Pre-commit Status](https://github.com/OCA/mis-builder/actions/workflows/pre-commit.yml/badge.svg?branch=17.0)](https://github.com/OCA/mis-builder/actions/workflows/pre-commit.yml?query=branch%3A17.0) +[![Build Status](https://github.com/OCA/mis-builder/actions/workflows/test.yml/badge.svg?branch=17.0)](https://github.com/OCA/mis-builder/actions/workflows/test.yml?query=branch%3A17.0) +[![codecov](https://codecov.io/gh/OCA/mis-builder/branch/17.0/graph/badge.svg)](https://codecov.io/gh/OCA/mis-builder) +[![Translation Status](https://translation.odoo-community.org/widgets/mis-builder-17-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/mis-builder-17-0/?utm_source=widget)