Skip to Content

Contributors

Re: 14.0 branches

This scenario shouldn't happen in the OCA (for Odoo module versions, I mean).
If this is the case, the problem should be fixed at the source.
So it is a non issue, as far as OCA CI is concerned.

Now, if you are entertaining the idea to use pip instead of git in your dev workflows, this this is a good question.
AFAIK pip can use git and install from it, and supports everything that git does, so you can pip install a particular pinned commit.

--dr

On 13/10/2020 09:11, Houssine BAKKALI wrote:

I'm curious to know how specific module version dependency will be handled with pip... At least with github we can rely on the repository state at time t.

This case won't happen often but sometimes fix or improvements on module A, imply dev on module B so you will depend on a certain version on module B for the version bringing the fix or improvements on module A.

Or an other case is that on version of module B(on a different repository) brings a bug or regression on you module A so you may want to stick with one version of the module B. How you handle that ?

Anyway I'm not against this move as far as we still have a way to handle the dependency without pip.

On 13/10/2020 09:57, Daniel Reis wrote:
I believe the external_dependencies manifest key supports pinned versions.


On 13/10/2020 08:36, Pedro M. Baeza (Tecnativa) wrote:

> Stéphane, how to pin specific Python libraries versions in this 

> workflow in the generated requirements.txt? We have several places 

> with this requirement.

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe


Virus-free. www.avast.com

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe



by Daniel Reis - 10:26 - 13 Oct 2020

Reference

  • 14.0 branches
    Dear fellow contributors,

    The 14.0 branches are being created as I post this message.

    They are initialized from our new template repository that was created during the OCA Days sprint back in May [1]. This template is essentially a refreshed version of the linter configurations we have in 13.0. This new mechanism should make it easier to apply improvements across all repos in the future.

    Special thanks to Jairo Llopis for his work on this topic.

    I plan to provide a detailed walkthrough of all this during my OCA Days talk next week [6]. In the meantime, here are a few important things to note.

    1. The project description in README.md must be updated manually by PSCs.

    Since our project-level README were manually maintained and updated over a long period, it is difficult to reliably extract the variable content from them. So they are created afresh, and PSC are invited to update the repo description within the dedicated section of README.md. Please do not change the header and footer manually.

    2. Travis installs dependencies with pip, including addons of other repos

    This mechanism (activated by MQT_DEP=PIP in .travis.yml) does not use oca_dependencies.txt nor requirement.txt. It relies on __manifest__.py to discover dependencies from the 'depends' and 'external_dependencies' keys. Dependent addons are installed from the OCA wheelhouse [3], and python libraries are installed from PyPI.

    The main expected benefits are:
    - less redundancy (the manifests are enough to discover dependencies)
    - reduce rippling effects to unrelated repos when an addon or python library does not install or misbehaves, since only the dependencies really needed by a repo are installed

    If a PR depends on an unmerged addon or PR, create a file named test-requirements.txt at the repo root containing a line like this:


    This mechanism has been tested on several repos in 13.0 and should be reliable. In case of problem, mention me in the PR and/or create an issue in OCA/maintainer-quality-tools repo. Alternatively, you can restore the old behaviour by removing the MQT_DEP=PIP line from .travis.yml. For the curious, the code of the new mechanism is in the OCA/m-q-t repo [4]

    3. If you need local changes to the dotfiles let's discuss them

    There are variables in the dot files, including .travis.yml [2]. To update them, the best way is to install copier [5], run "copier update" from the repo root, and answer the questions.

    If you need other changes, you can apply them locally to resolve urgent situations, but that may make updates harder. So please open an issue in [1] to discuss if changes need to be made to the template.

    As usual, don't hesitate to let me know of any issue.

    That's all for now, folks. Happy migration!

    -sbi


    --
    Stéphane Bidoul | @SBidoul
    Acsone sa/nv | http://acsone.eu/ | +32 2 888 3120

    by Stéphane Bidoul - 09:21 - 8 Oct 2020