ResInsight
ResInsight copied to clipboard
Avoid mixing Python versions during github action run
From the log, we can see that the github action variable pythonLocation is changing from 3.8 to 3.10 after running action https://github.com/jurplel/install-qt-action/tree/v2
https://github.com/OPM/ResInsight/actions/runs/3080820654/jobs/4978625692
Related issue related to protobuf https://github.com/protocolbuffers/protobuf/issues/10075
Issues have been seen in protobuf>3.20 with the current version of grpc used in ResInsight.
Can this be retested, and checked whether that will allow unpinning of protobuf in requirements.txt?
Bumping the question from Håvard here , possible to have a look at the pinning @magnesj ?
I can look into this next week. What is your preferred solution, no pinning at all?
If possible the best thing is to remove pinning :+1:
The pinning of modules was introduced in https://github.com/OPM/ResInsight/commit/587f700ae4db4dfcca273449423e55aa273d44e6. At this point, the latest version of grpc and protobuf caused issues.
The protobuf issue was fixed in 4.21.9, see https://github.com/protocolbuffers/protobuf/issues/10075#issuecomment-1309567465
These issues are now resolved and the pinning can be removed.
@oysteoh, pinning is now removed. Please let us know if this solves your issues.
Are you planning on making a new tag on this release on pypi? We are getting the rips package from there and cannot test the change until that is done 👍
c++ files related to grpc are generated using the protoc tool. This tool is installed using vcpkg and, the current version of this tool is 3.15.8. The protoc tool is launched from cmake in
https://github.com/OPM/ResInsight/blob/dev/GrpcInterface/CMakeLists.txt
Python code is generated based on the same proto files, and they are generated using the Python package grpcio-tools
in CMakeLists.txt
The current version of grpcio-tools is 1.33. This version causes issues on readthedocs
https://readthedocs.org/projects/python-rips-doc/builds/21129013/
Investigate if it is possible to use the latest version of grpcio-tools with the current grpc used in c++.
Latest release of vcpkg contains protoc version 3.21.12 https://github.com/microsoft/vcpkg/commits/master/ports/protobuf
Updated python packages are verified working as expected on Equinor infrastructure.