-
- Downloads
Bug 1723031: Allow flexible dependency-specification in the Mach venv r=ahal
There's some trade-offs in play here: the major issue is that we can't pin `psutil`'s because it's pre-installed on some CI workers with a different version (5.4.2). Additionally, we can't "just" bump that version, because CI workers jump between different revisions to do work, so a specific pinned version won't work when we try to update such a package. One option is that we could avoid validating package versions in CI, but then that will cause surprises (heck, I didn't know we were still using `psutil==5.4.2` instead of `5.8.0` until now). By doing validation, we make it more explicit and avoid accidentally depending on behaviour of too new of such a package. However, in most cases, we manage the installation environment and can pin dependencies. So, I've made the top-level Mach virtualenv the _only_ one that is able to use requirement specifiers other than "==". Differential Revision: https://phabricator.services.mozilla.com/D122889
Showing
- build/mach_initialize.py 11 additions, 2 deletionsbuild/mach_initialize.py
- build/mach_virtualenv_packages.txt 3 additions, 1 deletionbuild/mach_virtualenv_packages.txt
- configure.py 2 additions, 0 deletionsconfigure.py
- python/mach/mach/requirements.py 41 additions, 22 deletionspython/mach/mach/requirements.py
- python/mach/mach/test/test_virtualenv_compatibility.py 6 additions, 4 deletionspython/mach/mach/test/test_virtualenv_compatibility.py
- python/mach_commands.py 1 addition, 0 deletionspython/mach_commands.py
- python/mozbuild/mozbuild/virtualenv.py 18 additions, 13 deletionspython/mozbuild/mozbuild/virtualenv.py
Please register or sign in to comment