- Mailing Lists
- Contributors
- Re: 14.0 branches
Archives
- By thread 1419
-
By date
- August 2019 59
- September 2019 118
- October 2019 165
- November 2019 97
- December 2019 35
- January 2020 58
- February 2020 204
- March 2020 121
- April 2020 172
- May 2020 50
- June 2020 158
- July 2020 85
- August 2020 94
- September 2020 193
- October 2020 277
- November 2020 100
- December 2020 159
- January 2021 38
- February 2021 87
- March 2021 146
- April 2021 73
- May 2021 90
- June 2021 86
- July 2021 123
- August 2021 50
- September 2021 68
- October 2021 66
- November 2021 74
- December 2021 75
- January 2022 98
- February 2022 77
- March 2022 68
- April 2022 31
- May 2022 59
- June 2022 87
- July 2022 141
- August 2022 38
- September 2022 73
- October 2022 152
- November 2022 39
- December 2022 50
- January 2023 93
- February 2023 49
- March 2023 106
- April 2023 47
- May 2023 69
- June 2023 92
- July 2023 64
- August 2023 103
- September 2023 91
- October 2023 101
- November 2023 94
- December 2023 46
- January 2024 75
- February 2024 79
- March 2024 104
- April 2024 63
- May 2024 40
- June 2024 160
- July 2024 80
- August 2024 70
- September 2024 62
- October 2024 121
- November 2024 117
- December 2024 89
- January 2025 59
- February 2025 104
- March 2025 96
- April 2025 107
- May 2025 52
- June 2025 72
- July 2025 60
- August 2025 81
- September 2025 124
- October 2025 63
- November 2025 22
Contributors
Re: 14.0 branches
- What happens when the module name differs from the package name? Or when several packages provide modules with the same name? How do we specify that in the manifest? AFAIK, until today only the module name is used there...
- Do we need to create the setup folder on all PRs? Or does the bot do it?
- If pip dependencies can be expressed through git, have you considered dropping the wheelhouse and using always git as dep system (with pip)? If the wheelhouse is meant to be used as a playground before real packages are pushed to pypi, have you considered using https://test.pypi.org? These might be dumb questions, but if it speeds up OCA workflow and removes the maintenance burden, it can be good.
- If the problem is that people needs a way to know what are a given module's dependencies, and where can they be found, would it be possible to have a script that parses a manifest and provides such info? Or could we include that info in the README automatically built by the bot, or in the module page at https://odoo-community.org/shop, or could https://odoo-community.org/ provide an API to get that info in JSON? Probably all these solutions would be better that a random text file.
- Where can we find docs about all of this? If none, then may you add them please?
by Jairo Llopis - 11:11 - 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.2. Travis installs dependencies with pip, including addons of other repos1. 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.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 installedIf 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:odoo14-addon-{addon_name} @ git+https://github.com/OCA/{repo}@refs/pull/{PR}/head#subdirectory=setup/{addon_name}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 themThere 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--
by Stéphane Bidoul - 09:21 - 8 Oct 2020-
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.-sbiOn 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:
The version pinnings it self, could be defined in a constraints.txt, so that it is separated from the packag names: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.
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 -
Re: 14.0 branches
Am 13.10.20 um 10:57 schrieb Daniel Reis:
The version pinnings it self, could be defined in a constraints.txt, so that it is separated from the packag names: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.
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
by md-lists - 01:45 - 14 Oct 2020 -
Re: 14.0 branches
+ 1 for generating oca_dependencies.txt and requirements.txtIn any case, thanks a lot for your work StéphaneOn Tue, 13 Oct 2020 at 09:32, Stéphane Bidoul <stephane.bidoul@acsone.eu> wrote:On Mon, Oct 12, 2020 at 5:32 PM Stéphane Bidoul <stephane.bidoul@acsone.eu> wrote: > I'll see if I can find an easy way to generate oca_dependencies.txt > and requirements.txt. I have been giving some thought to this and I believe it is possible to create a reasonably fast pre-commit hook that generates oca_dependencies.txt and requirements.txt. Roughly, requirements.txt would be generated from the external_dependencies manifest keys in the repo. oca_dependencies.txt would be generated by looking at the website key in manifests of first level dependencies which we find in the url key of wheels (it is supposed to have the form https://github.com/OCA/{repo} and we can enforce if we don't do it yet). There are some devils in the details (like what to do with test-requirements.txt, and what to do when there are conflicting requirements) but that seems manageable at first glance. The result should be identical to manually crafted files and help ensure consistency. Would that work for people who care about those two files ? For the rest, yeah, I guess this thread shows how deeply people care about their project workflows, and that is only normal. I can only repeat that *this should not have any impact on them*. When I have more time I'll answer to some comments that worry about a pip project workflow being broken or something (spoiler: it is not :) Cheers, -sbi
_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
--Lorenzo Battistini
https://github.com/eLBati
by Lorenzo Battistini. - 11:06 - 14 Oct 2020 -
Re: 14.0 branches
PS: can you share the command to tray it from github?Hi Nhomar,the way I prefer:pip install -e git+https://github.com/odoo/odoo.git@c107edf7077399c2ffa60b85a291ec3830d8432d#egg=odoo
--Lorenzo Battistini
https://github.com/eLBati
by Lorenzo Battistini. - 11:00 - 14 Oct 2020 -
Re: 14.0 branches
Hi Pedro,in case you can't avoid it, you can pin the version in setup.py file, like the following:On Tue, 13 Oct 2020 at 09:36, Pedro M. Baeza (Tecnativa) <pedro.baeza@tecnativa.com> 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.Regards._______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe
--Lorenzo Battistini
https://github.com/eLBati
by Lorenzo Battistini. - 10:46 - 14 Oct 2020
-