-
-
Notifications
You must be signed in to change notification settings - Fork 467
Open
Labels
Description
What needs to be done to create the 17.0 branches
Replace setup.py with pyproject.toml
This year I'd like to replace setup.py
files with a pyproject.toml
at the root of each addon, using setuptools-odoo's successor:
whool. This will get rid of most of the setup
directory.
This is less intrusive, standards-based and necessary because setuptools-odoo relied on setuptools features that are being deprecated. There are a few pre-requisites for that:
- release whool - https://pypi.org/project/whool
- create a
whool-init
pre-commit hook to generate pyproject.toml files, in place ot thesetuptools-odoo-makedefault
hook - @sbidoul, part ofwhool
- create a pre-commit hook to generate
requirements.txt
in a manner that is independent of setuptools - @sbidoul - Add pre-commit hook to generate external dependencies (requirements.txt
) #581 - add a new question to the addon repo template to select between setup.py and pyproject.toml, and use the above 2 pre-commit hooks in place of the setuptools-odoo hooks - @sbidoul - Add pyproject.toml instead of setup.py oca-addons-repo-template#216
- make sure linters and
.gitignore
ignore*/build
and*/dist
directories - @sbidoul - Ignore build and dist directories in linters oca-addons-repo-template#215 - update the
setup/_metapackage
generator (this is an empty packages that has all addons of a repo as dependencies) which is currently part ofsetuptools-odoo-makedefault
- @sbidoul - Addoca-gen-metapackage
script to generatesetup/_metapackage/pyproject.toml
#583. - update oca-github-bot to do whool-init + oca-gen-metapackage instead of setuptools-odoo-makedefault for selected branches - @sbidoul - Generate pyproject.toml instead of setup.py oca-github-bot#266
Use ruff
If the community agrees, we could use ruff to improve pre-commit run performance:
- Convert our pre-commit config to replace flake8, isort and pyupgrade with ruff. A
.ruff.toml
at the repo root can replace.flake8
and.isort.cfg
. - Use
ruff-format
instead ofblack
PR here: OCA/oca-addons-repo-template#219
This can be done as a copier question in the addons repo template to switch between ruff and other linters.
Update pylint config
- It's a good time to review or mandatory and optional pylint checks in the addons repo template
Usual tasks
See #537 for links to similar PRs for 16.0.
- determine Python to use in CI - 3.10 - [IMP] core, requirements: bump minimal python version to 3.10 odoo/odoo#136904
- determine Postgres version to use in CI
- prepare migration wiki page
- create OCB 17.0 branch - @pedrobaeza
- Put OCB 17.0 branch as default - @sbidoul
- update OCB sync script - @pedrobaeza - Switch OCB branches to sync for 17.0 #585
- deploy updated OCB sync script - @sbidoul
- make sure click-odoo-makepot works with Odoo 17 - @sbidoul Test with Odoo 17 acsone/click-odoo#55, Test with Odoo 17 acsone/click-odoo-contrib#141
- add Odoo 17 support to manifestoo-core (used by oca-ci via manifestoo, and whool) - @sbidoul - Add Odoo 17 support acsone/manifestoo-core#56
- request new PyPI classifier - @sbidoul - Add Odoo 17 trove classifier pypa/trove-classifiers#156
- oca-ci - @sbidoul - Add Odoo 17 builds oca-ci#54
- update addons repo template - @etobella - Add version 17 oca-addons-repo-template#226
- update oca-github-bot
- restart oca-github-bot to pick-up latest build tools
- update runboat config - @sbidoul
- generate 17.0 branches (oca-create-branch), using the bot account
- create migration issues (oca-create-migration-issue, don't forget to use a bot token not yours) - @sbidoul
- update weblate deployment Dockerfile to use latest maintainer-tools
- deploy weblate
- in OCA Odoo Instance, add the new series in GitHub > GitHub Comunity > Organizations > OCA.
- create 17.0 OpenUpgrade branch - @pedrobaeza
- create branches on apps.odoo.com
- Change OCB README to OCB one (after Odoo finishes doing changes there) - @pedrobaeza
pedrobaeza, bealdav, jcdrubay, hieulucky111, zamberjo and 2 morecelm1990, bealdav and yajo