Details
-
Bug
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
None
-
None
Description
In some tests, `:sdks:python:sdist:` task fails due to problems in finding protoc-gen-mypy. The following tests are affected (there might be more):
- https://builds.apache.org/job/beam_LoadTests_Python_37_ParDo_Dataflow_Batch_PR/
- https://builds.apache.org/job/beam_BiqQueryIO_Write_Performance_Test_Python_Batch/
Relevant logs:
10:46:32 > Task :sdks:python:sdist FAILED 10:46:32 Requirement already satisfied: mypy-protobuf==1.12 in /home/jenkins/jenkins-slave/workspace/beam_LoadTests_Python_37_ParDo_Dataflow_Batch_PR/src/build/gradleenv/1922375555/lib/python3.7/site-packages (1.12) 10:46:32 beam_fn_api.proto: warning: Import google/protobuf/descriptor.proto but not used. 10:46:32 beam_fn_api.proto: warning: Import google/protobuf/wrappers.proto but not used. 10:46:32 protoc-gen-mypy: program not found or is not executable 10:46:32 --mypy_out: protoc-gen-mypy: Plugin failed with status code 1. 10:46:32 /home/jenkins/jenkins-slave/workspace/beam_LoadTests_Python_37_ParDo_Dataflow_Batch_PR/src/build/gradleenv/1922375555/lib/python3.7/site-packages/setuptools/dist.py:476: UserWarning: Normalizing '2.19.0.dev' to '2.19.0.dev0' 10:46:32 normalized_version, 10:46:32 Traceback (most recent call last): 10:46:32 File "setup.py", line 295, in <module> 10:46:32 'mypy': generate_protos_first(mypy), 10:46:32 File "/home/jenkins/jenkins-slave/workspace/beam_LoadTests_Python_37_ParDo_Dataflow_Batch_PR/src/build/gradleenv/1922375555/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup 10:46:32 return distutils.core.setup(**attrs) 10:46:32 File "/usr/lib/python3.7/distutils/core.py", line 148, in setup 10:46:32 dist.run_commands() 10:46:32 File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands 10:46:32 self.run_command(cmd) 10:46:32 File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command 10:46:32 cmd_obj.run() 10:46:32 File "/home/jenkins/jenkins-slave/workspace/beam_LoadTests_Python_37_ParDo_Dataflow_Batch_PR/src/build/gradleenv/1922375555/lib/python3.7/site-packages/setuptools/command/sdist.py", line 44, in run 10:46:32 self.run_command('egg_info') 10:46:32 File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command 10:46:32 self.distribution.run_command(command) 10:46:32 File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command 10:46:32 cmd_obj.run() 10:46:32 File "setup.py", line 220, in run 10:46:32 gen_protos.generate_proto_files(log=log) 10:46:32 File "/home/jenkins/jenkins-slave/workspace/beam_LoadTests_Python_37_ParDo_Dataflow_Batch_PR/src/sdks/python/gen_protos.py", line 144, in generate_proto_files 10:46:32 '%s' % ret_code) 10:46:32 RuntimeError: Protoc returned non-zero status (see logs for details): 1
This is what I have tried so far to resolve this (without being successful):
- Including --plugin=protoc-gen-mypy={abs_path_to_executable} parameter to the protoc call ingen_protos.py:131
- Appending protoc-gen-mypy's directory to the PATH variable
I wasn't able to reproduce this error locally.