Fix optional deps installs during CI #817
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes an issue with our CI failing after the
ray 2.1.0
release.Issue
ray-project/ray#29224 removed the
protobuf < 4.0
bound fromray
. However,tensorflow
still requiresprotobuf < 4.0
, and this was not respected by pip during our CI install, leading to:This is due to this line in our
ci.yaml
:As stated by the pip documentation for
upgrade-strategy eager
:In other words, pip is not aware of
tensorflow
's requirements when installingray
in isolation, soprotobuf
is eagerly upgraded to>4.0
.Solutions
Current proposed solution
Including
tensorflow
(and other optional deps) in the problem pip install means that pip is aware oftensorflow
's deps. For example:There is some additional duplication, however this shouldn't slow down the install too much since
tensorflow
etc have already been installed.Alternative solution
We can avoid the duplication of
tensorflow
etc in theray
pip install if we change theupgrade-strategy
toonly-if-needed
:The downside of this is that we might not install the latest
ray
version (and its deps) if there were older cached dependencies...