build ruby artifact
diff --git a/tools/run_tests/artifact_targets.py b/tools/run_tests/artifact_targets.py
index 5738256..c7ca9a0 100644
--- a/tools/run_tests/artifact_targets.py
+++ b/tools/run_tests/artifact_targets.py
@@ -108,6 +108,35 @@
return self.name
+class RubyArtifact:
+ """Builds ruby native gem."""
+
+ def __init__(self, platform, arch):
+ self.name = 'ruby_native_gem_%s_%s' % (platform, arch)
+ self.platform = platform
+ self.arch = arch
+ self.labels = ['artifact', 'ruby', platform, arch]
+
+ def pre_build_jobspecs(self):
+ return []
+
+ def build_jobspec(self):
+ if self.platform == 'windows':
+ raise Exception("Not supported yet")
+ else:
+ if self.platform == 'linux':
+ environ = {}
+ if self.arch == 'x86':
+ environ['SETARCH_CMD'] = 'i386'
+ return create_docker_jobspec(self.name,
+ 'tools/dockerfile/grpc_artifact_linux_%s' % self.arch,
+ 'tools/run_tests/build_artifact_ruby.sh',
+ environ=environ)
+ else:
+ return create_jobspec(self.name,
+ ['tools/run_tests/build_artifact_ruby.sh'])
+
+
class CSharpExtArtifact:
"""Builds C# native extension library"""
@@ -164,4 +193,6 @@
CSharpExtArtifact('windows', 'x86'),
CSharpExtArtifact('windows', 'x64'),
PythonArtifact('linux', 'x86'),
- PythonArtifact('linux', 'x64')]
+ PythonArtifact('linux', 'x64'),
+ RubyArtifact('linux', 'x86'),
+ RubyArtifact('linux', 'x64')]