|
|
|
@ -40,7 +40,8 @@ import python_utils.jobset as jobset |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_docker_jobspec(name, dockerfile_dir, shell_command, environ={}, |
|
|
|
|
flake_retries=0, timeout_retries=0, timeout_seconds=30*60): |
|
|
|
|
flake_retries=0, timeout_retries=0, timeout_seconds=30*60, |
|
|
|
|
docker_base_image=None): |
|
|
|
|
"""Creates jobspec for a task running under docker.""" |
|
|
|
|
environ = environ.copy() |
|
|
|
|
environ['RUN_COMMAND'] = shell_command |
|
|
|
@ -51,6 +52,9 @@ def create_docker_jobspec(name, dockerfile_dir, shell_command, environ={}, |
|
|
|
|
docker_env = {'DOCKERFILE_DIR': dockerfile_dir, |
|
|
|
|
'DOCKER_RUN_SCRIPT': 'tools/run_tests/dockerize/docker_run.sh', |
|
|
|
|
'OUTPUT_DIR': 'artifacts'} |
|
|
|
|
|
|
|
|
|
if docker_base_image is not None: |
|
|
|
|
docker_env['DOCKER_BASE_IMAGE'] = docker_base_image |
|
|
|
|
jobspec = jobset.JobSpec( |
|
|
|
|
cmdline=['tools/run_tests/dockerize/build_and_run_docker.sh'] + docker_args, |
|
|
|
|
environ=docker_env, |
|
|
|
@ -116,7 +120,8 @@ class PythonArtifact: |
|
|
|
|
'tools/dockerfile/grpc_artifact_python_manylinux_%s' % self.arch, |
|
|
|
|
'tools/run_tests/artifacts/build_artifact_python.sh', |
|
|
|
|
environ=environ, |
|
|
|
|
timeout_seconds=60*60) |
|
|
|
|
timeout_seconds=60*60, |
|
|
|
|
docker_base_image='quay.io/pypa/manylinux1_i686' if self.arch == 'x86' else 'quay.io/pypa/manylinux1_x86_64') |
|
|
|
|
elif self.platform == 'windows': |
|
|
|
|
if 'Python27' in self.py_version or 'Python34' in self.py_version: |
|
|
|
|
environ['EXT_COMPILER'] = 'mingw32' |
|
|
|
@ -336,19 +341,24 @@ def targets(): |
|
|
|
|
PythonArtifact('linux', 'x86', 'cp27-cp27mu'), |
|
|
|
|
PythonArtifact('linux', 'x86', 'cp34-cp34m'), |
|
|
|
|
PythonArtifact('linux', 'x86', 'cp35-cp35m'), |
|
|
|
|
PythonArtifact('linux', 'x86', 'cp36-cp36m'), |
|
|
|
|
PythonArtifact('linux', 'x64', 'cp27-cp27m'), |
|
|
|
|
PythonArtifact('linux', 'x64', 'cp27-cp27mu'), |
|
|
|
|
PythonArtifact('linux', 'x64', 'cp34-cp34m'), |
|
|
|
|
PythonArtifact('linux', 'x64', 'cp35-cp35m'), |
|
|
|
|
PythonArtifact('linux', 'x64', 'cp36-cp36m'), |
|
|
|
|
PythonArtifact('macos', 'x64', 'python2.7'), |
|
|
|
|
PythonArtifact('macos', 'x64', 'python3.4'), |
|
|
|
|
PythonArtifact('macos', 'x64', 'python3.5'), |
|
|
|
|
PythonArtifact('macos', 'x64', 'python3.6'), |
|
|
|
|
PythonArtifact('windows', 'x86', 'Python27_32bits'), |
|
|
|
|
PythonArtifact('windows', 'x86', 'Python34_32bits'), |
|
|
|
|
PythonArtifact('windows', 'x86', 'Python35_32bits'), |
|
|
|
|
PythonArtifact('windows', 'x86', 'Python36_32bits'), |
|
|
|
|
PythonArtifact('windows', 'x64', 'Python27'), |
|
|
|
|
PythonArtifact('windows', 'x64', 'Python34'), |
|
|
|
|
PythonArtifact('windows', 'x64', 'Python35'), |
|
|
|
|
PythonArtifact('windows', 'x64', 'Python36'), |
|
|
|
|
RubyArtifact('linux', 'x86'), |
|
|
|
|
RubyArtifact('linux', 'x64'), |
|
|
|
|
RubyArtifact('macos', 'x64'), |
|
|
|
|