-
Notifications
You must be signed in to change notification settings - Fork 101
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
Fix pre-installation of universal2 environment for OSX tests #1234
base: master
Are you sure you want to change the base?
Conversation
The tests are failing nowadays because we pre-install latest MarkupSafe , which today is 3.0.2, but buildout requires 3.0.1 so it needs to install a new version and can not use the pre-installed version. This might not be the best way of addressing this, I don't fully understand how the versions in constraints.txt, tox.ini and buildout.cfg are kept in sync, but this seem to be an explanation and a possible solution for the test failures on OSX |
Version pins are maintained in versions-prod.cfg and versions.cfg. The constraints and requirements files are auto-generated by running the buildout or by executing the util.py script in the root of the repository. |
Thanks, then this looks like a bug in that script, it reads only Do you think the script should be amended so that it generates I can try to do this |
1b232b8
to
e11cb58
Compare
I did this and replaced this pull request with the new approach, now |
requirements file still contains only prod versions (from versions-prod.cfg) but constraints is extended to also contain versions from versions.cfg, so that during tests we can install extras with pip, like we do for universal2 on OSX. This fixes a problem of test failing on OSX because the version pin for MarkupSafe was missing and when installing it with pip, the latest version was installed, which might not be the version defined in versions.cfg, causing buildout to install again MarkupSafe at the version defined in versions.cfg and failing.
e11cb58
to
5f47da9
Compare
No please do not touch that script. It is fine as is. I was mistaken in my description. It uses versions-prod.cfg. The goal is to just have the minimum requirements for running Zope and not huge files that pull in the world for stuff that is not needed in a production setting. |
OK, but in case we misunderstood each other: this change does not change the "requirements" file, only the "constraints" file, so when we install with |
My problem right now is that I do not have access to a computer this week and I can only look at things on my phone. It's hard for me to cross-check anything or review anything other than small changes. I'll need to defer this PR until I am back home, or @icemac can chime in. |
Sure, no problem, let's wait. If this approach is problematic, another idea I just have is that we could keep |
We need to pre-install the same versions that will be installed by buildout later. For most distributions there is a constraint in constaints.txt that we keep up to date with buildout.cfg, but not for MarkupSafe