Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from Tecnativa:master #27

Merged
merged 46 commits into from
Apr 20, 2022
Merged

Conversation

pull[bot]
Copy link

@pull pull bot commented Nov 25, 2020

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

joao-p-marques and others added 25 commits November 25, 2020 11:41
The latest was causing pip errors when installing for having a manifest with version 0.0.0 and only beta releases in pypi
Start using poetry for local development and dependecy solving

In the future, migrate in the tests as well
As done before with build action, now use the poetry env instead of installing everything with pip
…ronments

Checking for duplicates in `doodbalib` was impeding having the same addon defined more than once in `addons.yaml`, even if when it was for different environments.
This moves that check to the entrypoint, to be executed only when symlinking the addons.
Also add tests for that situation

TT27711
https://bootstrap.pypa.io/ started using python >3.5 syntax for the get-pip.py script.
It is, then, necessary to fetch the correct version for each image.

Fixes latest build errors: https://github.com/Tecnativa/doodba/runs/1799238330?check_suite_focus=true#step:7:1000
```
Hi there!
The URL you are using to fetch this script has changed, and this one will no
longer work. Please use get-pip.py from the following URL instead:
    https://bootstrap.pypa.io/pip/3.5/get-pip.py
Sorry if this change causes any inconvenience for you!
We don't have a good mechanism to make more gradual changes here, and this
renaming is a part of an effort to make it easier to us to update these
scripts, when there's a pip release. It's also essential for improving how we
handle the `get-pip.py` scripts, when pip drops support for a Python minor
version.
There are no more renames/URL changes planned, and we don't expect that a need
would arise to do this again in the near future.
Thanks for understanding!
- Pradyun, on behalf of the volunteers who maintain pip.
```
when chowning symlinks, os.chown modifies the target instead of the symlink
as the target (if under SRC_DIR) should be chowned separately it's ok to skip
chowning symlinks. this prevents unclear error messages where it looks like the
symlink does not exist (when in fact it's the target file) and gives the same
result as if we are chowning targets via symlinks twice.
(2.1.0 is not working with <=13.0 image psycopg2 dependency)
…ymlink_handling

[FIX] autoaggrate: do not chown symlinks
Prepopulates DB with helpful simple data
Add tests

TT27635
As builds fail, don't build or test in CI
Install version from OCA/pylint-odoo#329 with a more modern packaging method, avoiding errors with setuptools
by executing checkout with correct permissions and using consistent
fix permissions script
ap-wtioit and others added 19 commits July 2, 2021 08:24
we force a non fast forward merge of ocb and ocb^1 to test
if git is correctly configured for autoaggregate
For WKHTMLTOPDF and Postgres packages, install Debian buster version instead of stretch
As checksums are not available for buster packages, remove that check.
Remove QA dependencies that are no longer needed
- Make it `:latest`.
- Fix the common prerelease-failing tests.

TT31709

Co-authored-by: Andreas Perhab <[email protected]>
Make necessary fixes to get v14 out of pre-release mode
Configure test_qa for new images
Add npm for tests that need it
Check for patched werkzeug version only in versions < 14.0
Fix test_addons_env for 11.0 - 13.0
New openupgrade_scripts only exists from 14.0
Enable all tests already working in 15.0
Make dependency test for base_search_fuzzy a separate test. This enables us to run all other dependency tests with 15.0 already

Co-authored-by: Andreas Perhab <[email protected]>
In Odoo 15.0, support for flanker has been included.

See https://github.com/odoo/odoo/blob/a7f7233e0eae8ee101d745a9813cba930fd03dcb/addons/mail/tools/mail_validation.py#L11-L27

Without this, we get these logs:

    odoo.addons.mail.tools.mail_validation: The `flanker` Python module is not installed,so email validation fallback to email_normalize. Use 'pip install flanker' to install it

@moduon MT-221
[IMP] add missing flanker soft dependency
As seen in mailgun/flanker#164, for using flanker for validation, one needs additional dependencies.

That's Odoo's use case, so without this patch it fails with:

```
2022-02-02 12:26:32,758 29 WARNING odoo odoo.modules.loading: Module crm demo data failed to install, installed without demo data
Traceback (most recent call last):
  File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 680, in _tag_root
    f(rec)
  File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 333, in _tag_function
    _eval_xml(self, rec, env)
  File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 204, in _eval_xml
    return odoo.api.call_kw(model, method_name, args, kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 464, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/opt/odoo/custom/src/odoo/odoo/api.py", line 451, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 897, in action_set_lost
    res = self.action_archive()
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 5062, in action_archive
    return self.filtered(lambda record: record[self._active_name]).toggle_active()
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 885, in toggle_active
    res = super(Lead, self).toggle_active()
  File "/opt/odoo/auto/addons/mail/models/mail_activity_mixin.py", line 337, in toggle_active
    return super(MailActivityMixin, self).toggle_active()
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 5055, in toggle_active
    active_recs[self._active_name] = False
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 5891, in __setitem__
    return self._fields[key].__set__(self, value)
  File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1217, in __set__
    records.write({self.name: write_value})
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 685, in write
    self._handle_won_lost(vals)
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 803, in _handle_won_lost
    leads_reach_lost._pls_increment_frequencies(to_state='lost')
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 1998, in _pls_increment_frequencies
    new_frequencies_by_team, existing_frequencies_by_team = self._pls_prepare_update_frequency_table(target_state=from_state or to_state)
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 2156, in _pls_prepare_update_frequency_table
    leads_values_dict = pls_leads._pls_get_lead_pls_values(domain=domain)
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 2376, in _pls_get_lead_pls_values
    self.flush(['probability'])
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 5644, in flush
    self.recompute(fnames, records=records)
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 6124, in recompute
    process(field)
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 6095, in process
    field.recompute(recs)
  File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1243, in recompute
    self.compute_value(recs)
  File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1265, in compute_value
    records._compute_field_value(self)
  File "/opt/odoo/auto/addons/mail/models/mail_thread.py", line 410, in _compute_field_value
    return super()._compute_field_value(field)
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 4256, in _compute_field_value
    getattr(self, field.compute)()
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 453, in _compute_probabilities
    lead_probabilities = self._pls_get_naive_bayes_probabilities()
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 1876, in _pls_get_naive_bayes_probabilities
    leads_values_dict = self._pls_get_lead_pls_values(domain=domain)
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 2421, in _pls_get_lead_pls_values
    value = lead[field].id if isinstance(lead[field], models.BaseModel) else lead[field]
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 5882, in __getitem__
    return self._fields[key].__get__(self, type(self))
  File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1054, in __get__
    self.recompute(record)
  File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1243, in recompute
    self.compute_value(recs)
  File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1265, in compute_value
    records._compute_field_value(self)
  File "/opt/odoo/auto/addons/mail/models/mail_thread.py", line 410, in _compute_field_value
    return super()._compute_field_value(field)
  File "/opt/odoo/custom/src/odoo/odoo/models.py", line 4256, in _compute_field_value
    getattr(self, field.compute)()
  File "/opt/odoo/auto/addons/crm/models/crm_lead.py", line 439, in _compute_email_state
    if mail_validation.mail_validate(email):
  File "/opt/odoo/auto/addons/mail/tools/mail_validation.py", line 17, in mail_validate
    return bool(address.validate_address(email))
  File "/usr/local/lib/python3.8/site-packages/flanker/utils.py", line 64, in wrapper
    return_value = f(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flanker/addresslib/address.py", line 312, in validate_address
    exchanger, mx_metrics = mail_exchanger_lookup(paddr.hostname, metrics=True)
  File "/usr/local/lib/python3.8/site-packages/flanker/utils.py", line 64, in wrapper
    return_value = f(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flanker/addresslib/validate.py", line 146, in mail_exchanger_lookup
    in_cache, cache_value = lookup_exchanger_in_cache(domain)
  File "/usr/local/lib/python3.8/site-packages/flanker/addresslib/validate.py", line 188, in lookup_exchanger_in_cache
    lookup = _get_mx_cache()[domain]
  File "/usr/local/lib/python3.8/site-packages/flanker/addresslib/validate.py", line 238, in _get_mx_cache
    from flanker.addresslib.drivers.redis_driver import RedisCache
  File "/usr/local/lib/python3.8/site-packages/flanker/addresslib/drivers/redis_driver.py", line 3, in <module>
    import redis
ModuleNotFoundError: No module named 'redis'
```

@moduon MT-221
[FIX] missing flanker dependencies
feat: add pyOpenSSL by default
and ignore the warnings printed on the first import
see mailgun/flanker#231
[IMP] 15.0: generate flanker cached tables during build
@yelizariev yelizariev merged commit 133ba06 into itpp-labs:master Apr 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants