Contributors mailing list archives


Re: Project for special dynamic checks of maintainer-quality-tools

Open Source Integrators, Daniel Reis
- 10/08/2016 09:37:54

I don't think OCA/server-tools is a good option.
I would prefer to keep these modules in the MQT repo.

Maybe it's time to split MQT into branches, like other repos.
There is already some "pressure" in the current MQT features for this split:

- we are keeping several lint conf files, to have different versions per check
- the MQT tests code needs to use different options depending on teh version, or needs carefully crafted options that accidentally work between versions
- the tests still user ./ instead of ./ for backward compatibility, but this won't work forever...
- when adding new checks, we often don't want them to happen on older little maintained Odoo versions (pre-8.0 at the moment)

I think that now is the moment for MQT to have branches per Odoo version.
This will add the additional work of backport some changesets, but that's only needed for some changesets and some versions, and it's not that hard.

I also suggest to keep "master" as the bleeding edge version, adopted by the latest stable branch in a few selected repos, maintained by people also active in MQT.



Citando Moises Lopez <>:

We have modules that are useful forOCA/Maintainer-Quality-Tools (MQT) project.
Demo xml_id referenced from data xml (odoolint module)
If we have a "data/data.xml" where a ref="demo_xml_id" is used then will emit a warning.
Our CI has a false green because we have installed with all demo.
If you install the module with param "--without-demo=all" will fails with we have the error "External ID not found in the system"
xml_id unreachable (odoolint module)
We have cases where if you install a module without other ones will fail because we don't have a dependency added it.
I have detected a case running odoolint module on OCA/l10n-spain:
INFO openerp_test openerp.modules.loading: loading l10n_es_aeat_mod216/views/res_partner_view.xml
WARNING openerp_test openerp.addons.odoolint.models.ir_model_data: The xml_id 'base_vat.view_partner_form' is unreachable.
And using ~/odoo-8.0/ -i l10n_es_aeat_mod216 on new database empty.
We have the error "External ID not found in the system"
But our CI has a false green because we don't have installed one-by-one.
Method too slow (odoo-profiler)
We can get a profiler report of the methods of the project to get information of the top slow methods define in our project see image
This is useful to detect performance issues early.
If we have a method that is invoked many times or spent many time we can detect them in each PR with this module.
SQL sentence too slow (runbot dockerized is required)
Note: This change isn't posible added to travis because travis-ci#5784
But with a environment isolated (like as runbot dockerized) is posible.
We can get a pgbadger stats to detect slow queries or queries invoked many times, see image
This is useful to detect performance issues early.
* Conclusion
We could use OCA/server-tools but there are other ones what MQT don't use, then download all them just to use 4 ones is too slow to manage all builds of OCA.
Well, we could use MQT project, but this project use a branch master and we require define a branch 7.0, 8.0, 9.0, master... ones to work fine with each version of odoo (like as a normal project of odoo modules)
My proposal is to create a new project for manage this type of modules (I don't know maybe calling it "QA" modules).
What do you think?
Moisés López Calderón
Vauxoo - OpenERP's Gold Partner
Mobile: (+521) 477-752-22-30
Office: (+52) 477-773-33-46
twitter: @vauxoo

Post to: