diff --git a/.copier-answers.yml b/.copier-answers.yml index d4b6ba0151..93e56ad96c 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.29 +_commit: v1.34 _src_path: git+https://github.com/OCA/oca-addons-repo-template additional_ruff_rules: [] ci: GitHub @@ -14,7 +14,7 @@ github_enable_stale_action: true github_enforce_dev_status_compatibility: true include_wkhtmltopdf: false odoo_test_flavor: Both -odoo_version: 18.0 +odoo_version: 19.0 org_name: Odoo Community Association (OCA) org_slug: OCA rebel_module_groups: [] diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000..e0d56685a9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +test-requirements.txt merge=union diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 5eb021ef15..d61380e4fd 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -3,11 +3,11 @@ name: pre-commit on: pull_request: branches: - - "18.0*" + - "19.0*" push: branches: - - "18.0" - - "18.0-ocabot-*" + - "19.0" + - "19.0-ocabot-*" jobs: pre-commit: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a06488079f..6101a2b026 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,11 +3,11 @@ name: tests on: pull_request: branches: - - "18.0*" + - "19.0*" push: branches: - - "18.0" - - "18.0-ocabot-*" + - "19.0" + - "19.0-ocabot-*" jobs: unreleased-deps: @@ -35,14 +35,14 @@ jobs: fail-fast: false matrix: include: - - container: ghcr.io/oca/oca-ci/py3.10-odoo18.0:latest + - container: ghcr.io/oca/oca-ci/py3.10-odoo19.0:latest name: test with Odoo - - container: ghcr.io/oca/oca-ci/py3.10-ocb18.0:latest + - container: ghcr.io/oca/oca-ci/py3.10-ocb19.0:latest name: test with OCB makepot: "true" services: postgres: - image: postgres:12.0 + image: postgres:13 env: POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c74099edcf..3d0fa1036b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,14 @@ exclude: | (?x) # NOT INSTALLABLE ADDONS + ^base_import_async/| + ^queue_job/| + ^queue_job_batch/| + ^queue_job_cron/| + ^queue_job_cron_jobrunner/| + ^queue_job_subscribe/| + ^test_queue_job/| + ^test_queue_job_batch/| # END NOT INSTALLABLE ADDONS # Files and folders generated by bots, to avoid loops ^setup/|/static/description/index\.html$| @@ -39,11 +47,11 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/sbidoul/whool - rev: v1.2 + rev: v1.3 hooks: - id: whool-init - repo: https://github.com/oca/maintainer-tools - rev: bf9ecb9938b6a5deca0ff3d870fbd3f33341fded + rev: f9b919b9868143135a9c9cb03021089cabba8223 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -52,7 +60,7 @@ repos: - id: oca-gen-addon-readme args: - --addons-dir=. - - --branch=18.0 + - --branch=19.0 - --org-name=OCA - --repo-name=queue - --if-source-changed @@ -60,7 +68,7 @@ repos: - --convert-fragments-to-markdown - id: oca-gen-external-dependencies - repo: https://github.com/OCA/odoo-pre-commit-hooks - rev: v0.0.33 + rev: v0.1.6 hooks: - id: oca-checks-odoo-module - id: oca-checks-po @@ -79,8 +87,8 @@ repos: files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$ language: node additional_dependencies: - - "prettier@3.3.3" - - "@prettier/plugin-xml@3.4.1" + - "prettier@3.6.2" + - "@prettier/plugin-xml@3.4.2" - repo: local hooks: - id: eslint @@ -93,10 +101,11 @@ repos: types: [javascript] language: node additional_dependencies: - - "eslint@9.12.0" - - "eslint-plugin-jsdoc@50.3.1" + - "eslint@9.35.0" + - "eslint-plugin-jsdoc@57.0.8" + - "globals@16.0.0" - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v6.0.0 hooks: - id: trailing-whitespace # exclude autogenerated files @@ -105,8 +114,6 @@ repos: # 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 @@ -118,13 +125,13 @@ repos: - id: mixed-line-ending args: ["--fix=lf"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.8 + rev: v0.13.0 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - id: ruff-format - repo: https://github.com/OCA/pylint-odoo - rev: v9.1.3 + rev: v9.3.15 hooks: - id: pylint_odoo name: pylint with optional checks diff --git a/.pylintrc b/.pylintrc index 7c62b6d2ed..16996cb36f 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=18.0 +valid-odoo-versions=19.0 [MESSAGES CONTROL] disable=all @@ -99,6 +99,29 @@ enable=anomalous-backslash-in-string, xml-deprecated-qweb-directive, xml-deprecated-tree-attribute, external-request-timeout, + bad-builtin-groupby, + category-allowed, + deprecated-name-get, + deprecated-odoo-model-method, + inheritable-method-lambda, + inheritable-method-string, + invalid-email, + manifest-behind-migrations, + manifest-data-duplicated, + missing-odoo-file, + no-raise-unlink, + no-search-all, + no-wizard-in-models, + prohibited-method-override, + prefer-env-translation, + translation-format-interpolation, + translation-format-truncated, + translation-fstring-interpolation, + translation-not-lazy, + translation-too-few-args, + translation-too-many-args, + translation-unsupported-format, + no-write-in-compute, # messages that do not cause the lint step to fail consider-merging-classes-inherited, create-user-wo-reset-password, @@ -114,7 +137,8 @@ enable=anomalous-backslash-in-string, old-api7-method-defined, redefined-builtin, too-complex, - unnecessary-utf8-coding-comment + unnecessary-utf8-coding-comment, + manifest-external-assets [REPORTS] diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index 018fd61cdd..dc9b71ed30 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=18.0 +valid-odoo-versions=19.0 [MESSAGES CONTROL] disable=all @@ -90,7 +90,30 @@ enable=anomalous-backslash-in-string, xml-attribute-translatable, xml-deprecated-qweb-directive, xml-deprecated-tree-attribute, - external-request-timeout + external-request-timeout, + bad-builtin-groupby, + category-allowed, + deprecated-name-get, + deprecated-odoo-model-method, + inheritable-method-lambda, + inheritable-method-string, + invalid-email, + manifest-behind-migrations, + manifest-data-duplicated, + missing-odoo-file, + no-raise-unlink, + no-search-all, + no-wizard-in-models, + prohibited-method-override, + prefer-env-translation, + translation-format-interpolation, + translation-format-truncated, + translation-fstring-interpolation, + translation-not-lazy, + translation-too-few-args, + translation-too-many-args, + translation-unsupported-format, + no-write-in-compute [REPORTS] msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} diff --git a/README.md b/README.md index 82906ba06b..a526a2f90d 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/queue&target_branch=18.0) -[![Pre-commit Status](https://github.com/OCA/queue/actions/workflows/pre-commit.yml/badge.svg?branch=18.0)](https://github.com/OCA/queue/actions/workflows/pre-commit.yml?query=branch%3A18.0) -[![Build Status](https://github.com/OCA/queue/actions/workflows/test.yml/badge.svg?branch=18.0)](https://github.com/OCA/queue/actions/workflows/test.yml?query=branch%3A18.0) -[![codecov](https://codecov.io/gh/OCA/queue/branch/18.0/graph/badge.svg)](https://codecov.io/gh/OCA/queue) -[![Translation Status](https://translation.odoo-community.org/widgets/queue-18-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/queue-18-0/?utm_source=widget) +[![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/queue&target_branch=19.0) +[![Pre-commit Status](https://github.com/OCA/queue/actions/workflows/pre-commit.yml/badge.svg?branch=19.0)](https://github.com/OCA/queue/actions/workflows/pre-commit.yml?query=branch%3A19.0) +[![Build Status](https://github.com/OCA/queue/actions/workflows/test.yml/badge.svg?branch=19.0)](https://github.com/OCA/queue/actions/workflows/test.yml?query=branch%3A19.0) +[![codecov](https://codecov.io/gh/OCA/queue/branch/19.0/graph/badge.svg)](https://codecov.io/gh/OCA/queue) +[![Translation Status](https://translation.odoo-community.org/widgets/queue-19-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/queue-19-0/?utm_source=widget) @@ -17,18 +17,18 @@ queue [//]: # (addons) -Available addons ----------------- +Unported addons +--------------- addon | version | maintainers | summary --- | --- | --- | --- -[base_import_async](base_import_async/) | 18.0.1.0.0 | | Import CSV files in the background -[queue_job](queue_job/) | 18.0.2.0.2 | guewen | Job Queue -[queue_job_batch](queue_job_batch/) | 18.0.1.0.0 | | Job Queue Batch -[queue_job_cron](queue_job_cron/) | 18.0.1.1.1 | | Scheduled Actions as Queue Jobs -[queue_job_cron_jobrunner](queue_job_cron_jobrunner/) | 18.0.1.0.1 | ivantodorovich | Run jobs without a dedicated JobRunner -[queue_job_subscribe](queue_job_subscribe/) | 18.0.1.0.0 | | Control which users are subscribed to queue job notifications -[test_queue_job](test_queue_job/) | 18.0.2.0.0 | | Queue Job Tests -[test_queue_job_batch](test_queue_job_batch/) | 18.0.1.0.0 | | Test Job Queue Batch +[base_import_async](base_import_async/) | 18.0.1.0.0 (unported) | | Import CSV files in the background +[queue_job](queue_job/) | 18.0.2.0.2 (unported) | guewen | Job Queue +[queue_job_batch](queue_job_batch/) | 18.0.1.0.0 (unported) | | Job Queue Batch +[queue_job_cron](queue_job_cron/) | 18.0.1.1.1 (unported) | | Scheduled Actions as Queue Jobs +[queue_job_cron_jobrunner](queue_job_cron_jobrunner/) | 18.0.1.0.1 (unported) | ivantodorovich | Run jobs without a dedicated JobRunner +[queue_job_subscribe](queue_job_subscribe/) | 18.0.1.0.0 (unported) | | Control which users are subscribed to queue job notifications +[test_queue_job](test_queue_job/) | 18.0.2.0.0 (unported) | | Queue Job Tests +[test_queue_job_batch](test_queue_job_batch/) | 18.0.1.0.0 (unported) | | Test Job Queue Batch [//]: # (end addons) diff --git a/base_import_async/__manifest__.py b/base_import_async/__manifest__.py index b6a054a10b..5432d7c5ca 100644 --- a/base_import_async/__manifest__.py +++ b/base_import_async/__manifest__.py @@ -20,6 +20,6 @@ "base_import_async/static/src/xml/import_data_sidepanel.xml", ], }, - "installable": True, + "installable": False, "development_status": "Production/Stable", } diff --git a/eslint.config.cjs b/eslint.config.cjs index 0d5731f89a..dd0cbe0aef 100644 --- a/eslint.config.cjs +++ b/eslint.config.cjs @@ -1,3 +1,4 @@ +var globals = require('globals'); jsdoc = require("eslint-plugin-jsdoc"); const config = [{ @@ -16,6 +17,8 @@ const config = [{ openerp: "readonly", owl: "readonly", luxon: "readonly", + QUnit: "readonly", + ...globals.browser, }, ecmaVersion: 2024, @@ -191,7 +194,7 @@ const config = [{ }, }, { - files: ["**/*.esm.js"], + files: ["**/*.esm.js", "**/*test.js"], languageOptions: { ecmaVersion: 2024, diff --git a/queue_job/__manifest__.py b/queue_job/__manifest__.py index 69211ec167..70b9774518 100644 --- a/queue_job/__manifest__.py +++ b/queue_job/__manifest__.py @@ -27,7 +27,7 @@ "/queue_job/static/src/views/**/*", ], }, - "installable": True, + "installable": False, "development_status": "Mature", "maintainers": ["guewen"], "post_init_hook": "post_init_hook", diff --git a/queue_job_batch/__manifest__.py b/queue_job_batch/__manifest__.py index 669ba10927..12dc679b8f 100644 --- a/queue_job_batch/__manifest__.py +++ b/queue_job_batch/__manifest__.py @@ -29,5 +29,7 @@ "queue_job_batch/static/src/**/*.xml", "queue_job_batch/static/src/**/*.scss", ], - }, + 'installable': False, +}, + 'installable': False, } diff --git a/queue_job_cron/__manifest__.py b/queue_job_cron/__manifest__.py index 9f67febffd..5d14b5d602 100644 --- a/queue_job_cron/__manifest__.py +++ b/queue_job_cron/__manifest__.py @@ -10,5 +10,5 @@ "category": "Generic Modules", "depends": ["queue_job"], "data": ["data/data.xml", "views/ir_cron_view.xml"], - "installable": True, + "installable": False, } diff --git a/queue_job_cron_jobrunner/__manifest__.py b/queue_job_cron_jobrunner/__manifest__.py index ca5d211a4f..c61918262d 100644 --- a/queue_job_cron_jobrunner/__manifest__.py +++ b/queue_job_cron_jobrunner/__manifest__.py @@ -13,5 +13,5 @@ "data/ir_cron.xml", "views/ir_cron.xml", ], - "installable": True, + "installable": False, } diff --git a/queue_job_subscribe/__manifest__.py b/queue_job_subscribe/__manifest__.py index e6ab4081eb..0b6ff496bc 100644 --- a/queue_job_subscribe/__manifest__.py +++ b/queue_job_subscribe/__manifest__.py @@ -10,5 +10,5 @@ "category": "Generic Modules", "depends": ["queue_job"], "data": ["views/res_users_view.xml"], - "installable": True, + "installable": False, } diff --git a/test_queue_job/__manifest__.py b/test_queue_job/__manifest__.py index 1a844dcd39..fe6c339e98 100644 --- a/test_queue_job/__manifest__.py +++ b/test_queue_job/__manifest__.py @@ -15,5 +15,5 @@ "security/ir.model.access.csv", "data/queue_job_test_job.xml", ], - "installable": True, + "installable": False, } diff --git a/test_queue_job_batch/__manifest__.py b/test_queue_job_batch/__manifest__.py index ba7449b09f..e0d6eb85ab 100644 --- a/test_queue_job_batch/__manifest__.py +++ b/test_queue_job_batch/__manifest__.py @@ -12,4 +12,5 @@ "queue_job_batch", "test_queue_job", ], + 'installable': False, }