geneontology / pipeline

Declarative pipeline for the Gene Ontology.
https://build.geneontology.org/job/geneontology/job/pipeline/
BSD 3-Clause "New" or "Revised" License
5 stars 5 forks source link

Pipeline currently fails due to python lib certifi changing requirements (floating requirement for requests-toolbelt) #286

Closed kltm closed 2 years ago

kltm commented 2 years ago

There is apparently an open-ended/floating requirement in requests-toolbelt for the latest version of certifi; unfortunately, it looks like it no longer supports python 3.5, which we are using there:

See shifting requirements:

https://pypi.org/project/certifi/2022.5.18.1/ https://pypi.org/project/certifi/2022.5.18/ https://pypi.org/project/certifi/2021.10.8/

04:45:50      __import__(vendored_name, globals(), locals(), level=0)
04:45:50  ImportError: No module named 'pip._vendor.cachecontrol'
04:45:50  
04:45:50  During handling of the above exception, another exception occurred:
04:45:50  
04:45:50  Traceback (most recent call last):
04:45:50    File "/XXX/mypyenv/lib/python3.5/site-packages/certifi/core.py", line 14, in <module>
04:45:50      from importlib.resources import path as get_path, read_text
04:45:50  ImportError: No module named 'importlib.resources'
04:45:50  
04:45:50  During handling of the above exception, another exception occurred:
[...]
04:45:50    File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
04:45:50    File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
04:45:50    File "/XXX/mypyenv/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/certs.py", line 17, in <module>
04:45:50    File "/XXX/mypyenv/lib/python3.5/site-packages/certifi/__init__.py", line 1, in <module>
04:45:50      from .core import contents, where
04:45:50    File "/XXX/mypyenv/lib/python3.5/site-packages/certifi/core.py", line 46, in <module>
04:45:50      Resource = Union[str, "os.PathLike"]
04:45:50    File "/usr/lib/python3.5/typing.py", line 552, in __getitem__
[...]
04:45:50      for t2 in all_params - {t1} if not isinstance(t2, TypeVar)):
04:45:50    File "/usr/lib/python3.5/typing.py", line 190, in __subclasscheck__
04:45:50      self._eval_type(globalns, localns)
04:45:50    File "/usr/lib/python3.5/typing.py", line 177, in _eval_type
04:45:50      eval(self.__forward_code__, globalns, localns),
04:45:50    File "<string>", line 1, in <module>
04:45:50  AttributeError: module 'os' has no attribute 'PathLike'
kltm commented 2 years ago

Try locking in first: python3 ./mypyenv/bin/pip3 install --force-reinstall certifi==2021.10.8

kltm commented 2 years ago

Time is short, so we'll propagate to snapshot and release immediately.

kltm commented 2 years ago

Testing is blocked until there is a fix in place for uberon issues: https://github.com/geneontology/go-ontology/issues/23367

kltm commented 2 years ago

Testing on snapshot failed. Will need to dig in and simulate again.

kltm commented 2 years ago

master now passing, so should be fine; will close once snapshot passes.