You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm writing this issue to document the efforts I've made to unpick the reason(s) why tox is not working correctly on jenkins.
The first issue is that the python version included in the jenkins slave image (which is not upgradable from alpine upstream as of this writing) vendors an old version of pip in the new virtualenvs it creates. pypa/virtualenv#2214. This version of pip has at least two problems:
it has a crappy dependency resolver
it doesn't understand binary packages for alpine
This means that it will get stuck on ujson which it can't find a compatible binary package of (and which it's also not willing to build from source for mysterious reasons) and will spend ~forever trying various combinations of packages to get it to work, eventually failing. The fix for this is to explicitly install a newer, fixed version of pip by adding VIRTUALENV_PIP=21.3.1 to the passenv block in tox.ini.
However, when this happens a second problem rears its head. The binary distribution of ujson for alpine (musl libc) on pypi has the included shared library misnamed:
I'm writing this issue to document the efforts I've made to unpick the reason(s) why tox is not working correctly on jenkins.
The first issue is that the python version included in the jenkins slave image (which is not upgradable from alpine upstream as of this writing) vendors an old version of pip in the new virtualenvs it creates. pypa/virtualenv#2214. This version of pip has at least two problems:
This means that it will get stuck on ujson which it can't find a compatible binary package of (and which it's also not willing to build from source for mysterious reasons) and will spend ~forever trying various combinations of packages to get it to work, eventually failing. The fix for this is to explicitly install a newer, fixed version of pip by adding
VIRTUALENV_PIP=21.3.1
to thepassenv
block in tox.ini.However, when this happens a second problem rears its head. The binary distribution of ujson for alpine (musl libc) on pypi has the included shared library misnamed:
It should be
...-linux-musl.so
. Reported upstream: ultrajson/ultrajson#485I've run out of time to debug this tonight, so I'm recording what I've been doing here so I can come back to it.
The text was updated successfully, but these errors were encountered: