OCA / maintainer-tools

Odoo Maintainers Tools & conventions for OCA members which evaluate and maintain repositories.
GNU Affero General Public License v3.0
272 stars 455 forks source link

Update our tooling to support Odoo 17 #582

Open sbidoul opened 10 months ago

sbidoul commented 10 months ago

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:

Use ruff

If the community agrees, we could use ruff to improve pre-commit run performance:

PR here: https://github.com/OCA/oca-addons-repo-template/pull/219

This can be done as a copier question in the addons repo template to switch between ruff and other linters.

Update pylint config

Usual tasks

See #537 for links to similar PRs for 16.0.

celm1990 commented 10 months ago

For click-odoo-contrib is need adapt code according this commit https://github.com/odoo/odoo/pull/68491

https://github.com/acsone/click-odoo-contrib/blob/1f2c6323b85520007f8cfbec16d6147a25d5d349/click_odoo_contrib/_dbutils.py#L20

When branch for 17.0 are available? I ask this for Doodba adaptations so

sbidoul commented 10 months ago

@celm1990 thanks for the hint about click-odoo. Would you like to do a PR there?

When branch for 17.0 are available? I ask this for Doodba adaptations so

We'll likely create the OCA 17.0 branches in the next couple of week after Odoo has ~released~ opened the 17.0 branch, depending on volunteers availability.

pedrobaeza commented 10 months ago

It would be better to have them available for OCA days, as there a lot of module migrations happen, although it depends if Odoo have a 17.0 branch already available at odoo/odoo.

celm1990 commented 10 months ago

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.

Just out of curiosity, how much of a difference is there in the file changes when using pre-commit with ruff?

sbidoul commented 10 months ago

how much of a difference is there in the file changes when using pre-commit with ruff?

Normally not much or none at all as it is possible to configure ruff to do the same as isort+flake8. I'll see if I can find the time to setup an example on some repo.

celm1990 commented 10 months ago

It would be better to have them available for OCA days, as there a lot of module migrations happen, although it depends if Odoo have a 17.0 branch already available at odoo/odoo.

Branch is here now https://github.com/odoo/odoo/tree/17.0 ;)

sbidoul commented 10 months ago

Great! Anyone planning to work on some the above tasks, please announce yourself to avoid duplicate work.

pedrobaeza commented 10 months ago

I will do the OCB and OpenUpgrade stuff.

pedrobaeza commented 10 months ago

OCA branch 17.0 is now pushed (it needs to be done in several push batches, as GitHub limits the index of one push to 2 GB, and this exceeds such size). @sbidoul please put it as default branch and after merging the ocb sync change, deploy it in the server.

sbidoul commented 10 months ago

Ok, good progress so far.

Main next step now is to update the addon repo template, and particularly review the hook versions and pylint-odoo config. Help welcome.

bosd commented 10 months ago

The addon icon menu generator is ready for merge. However, only icons for versions pre 17 are supported. Where is a good place to start the discussion about generating v17 community icons?

Can be quite a challenge to switch something which is compatible with the new odoo *milk theme. Sticking to the old pre V17 icons is not an good option either because of the huge style mismatch.

Is there already some discussion about this in the community?

pedrobaeza commented 10 months ago

Not yet. About icons, we are using https://ivantodorovich.github.io/odoo-icon/ as a versatile one. I have told @ivantodorovich about transferring it to OCA.

ivantodorovich commented 10 months ago

Not yet. About icons, we are using https://ivantodorovich.github.io/odoo-icon/ as a versatile one. I have told @ivantodorovich about transferring it to OCA.

Hey! I'm happy to transfer it to the OCA. I might need some assistance with the process, though 😓


About v17 icons, I don't think it'll be possible to have a tool for this. It's not like you can pick a fontawesome glyph and add a background color.. the new style, for better and for worse, requires a little bit of graphics design skills.

The good news is that after you get that done, there's no tedious repetitive work to do. Unlike the previous versions, the icon card and background is handled by the web client with css, so the app icon really just is a picture with transparent background, like this:

account

That means tools like https://ivantodorovich.github.io/odoo-icon/ won't really be needed. There's no gradient background, no shadow.. nothing to handle, really

bosd commented 10 months ago

It's not like you can pick a fontawesome glyph and add a background color.. the new style, for better and for worse, requires a little bit of graphics design skills.

Considered the options IMO this is still the way to go. Pick an multi-color icon font, use an icon generator tool to adjust it to the colors used in the new menu.

Other options:

  1. Keep using pre-17 Icons. --> Huge style mismatch 😞
  2. Expect a programmer to have time and skills to create an icon which matches the new Milk theme. 🤔
  3. Do nothing, (Almost the same as point 2 🙊 )

There are some critics of the new Milk design. That the icons are to hard to interpret. While switching to an multicolor icon font. We have the posibilitie to still keep the clarity of the functions. Making the colors (programmically) match the Milk theme, will prevent a huge style clash. As example. an candidate could be core flat icon pack.

sbidoul commented 10 months ago

I'm adding the conversion of fragments to markdown in https://github.com/OCA/oca-addons-repo-template/pull/228

gurneyalex commented 9 months ago

Do we have something about the XML declaration in static/description/index.html?

see https://github.com/OCA/partner-contact/pull/1625 and possibly many other.

sbidoul commented 9 months ago

It's a TODO, now tracked in https://github.com/OCA/maintainer-tools/issues/595. It's unlikely that I will have time for that in the coming weeks, so PR welcome :)

mymage commented 7 months ago

Hi @sbidoul, any outlook for the activity to activate Weblate for 17.0? Thanks

sbidoul commented 7 months ago

@mymage I'll try to give weblate some love soon. Thanks for your patience.

mymage commented 7 months ago

@mymage I'll try to give weblate some love soon. Thanks for your patience.

Now there are! Thanks!