Skip to Content

Contributors

Re: 14.0 branches

Ah, funny. I just stumbled upon a forgotten PR of mine to generate requirements.txt.
Looks like another version of me had anticipated the discussion, and then forgotten about it :)

I'll see if that works and add support for generating oca_dependencies.txt as soon as possible.

I take the opportunity to say thank you to all those who expressed support for the work done on OCA infrastructure.
And I myself say a huge thank you to all those who contribute to improve it and keep it humming.

-sbi



On Wed, Oct 14, 2020 at 1:47 PM Maik Derstappen <md-lists@derico.de> wrote:
Am 13.10.20 um 10:57 schrieb Daniel Reis:
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.

The version pinnings it self, could be defined in a constraints.txt, so that it is separated from the packag names:
https://pip.pypa.io/en/stable/user_guide/#constraints-files

one could install this as follow:

pip install -r requirements.txt -c constraints.txt

-- 
cheers
Maik Derstappen


derico - web development & consulting
>> Python - Plone - Odoo - Pyramid - Django

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


by Stéphane Bidoul - 10:56 - 15 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