aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/run_tests/artifacts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/run_tests/artifacts')
-rw-r--r--tools/run_tests/artifacts/artifact_targets.py24
-rwxr-xr-xtools/run_tests/artifacts/build_artifact_csharp_android.sh23
-rwxr-xr-xtools/run_tests/artifacts/build_artifact_python.sh1
-rwxr-xr-xtools/run_tests/artifacts/build_package_php.sh7
-rwxr-xr-xtools/run_tests/artifacts/build_package_python.sh5
-rwxr-xr-xtools/run_tests/artifacts/build_package_ruby.sh19
-rw-r--r--tools/run_tests/artifacts/distribtest_targets.py47
7 files changed, 98 insertions, 28 deletions
diff --git a/tools/run_tests/artifacts/artifact_targets.py b/tools/run_tests/artifacts/artifact_targets.py
index efc4ca0d8a..e4d9e6bdfe 100644
--- a/tools/run_tests/artifacts/artifact_targets.py
+++ b/tools/run_tests/artifacts/artifact_targets.py
@@ -31,7 +31,8 @@ def create_docker_jobspec(name,
timeout_retries=0,
timeout_seconds=30 * 60,
docker_base_image=None,
- extra_docker_args=None):
+ extra_docker_args=None,
+ verbose_success=False):
"""Creates jobspec for a task running under docker."""
environ = environ.copy()
environ['RUN_COMMAND'] = shell_command
@@ -57,7 +58,8 @@ def create_docker_jobspec(name,
shortname='build_artifact.%s' % (name),
timeout_seconds=timeout_seconds,
flake_retries=flake_retries,
- timeout_retries=timeout_retries)
+ timeout_retries=timeout_retries,
+ verbose_success=verbose_success)
return jobspec
@@ -69,7 +71,8 @@ def create_jobspec(name,
timeout_retries=0,
timeout_seconds=30 * 60,
use_workspace=False,
- cpu_cost=1.0):
+ cpu_cost=1.0,
+ verbose_success=False):
"""Creates jobspec."""
environ = environ.copy()
if use_workspace:
@@ -88,7 +91,8 @@ def create_jobspec(name,
flake_retries=flake_retries,
timeout_retries=timeout_retries,
shell=shell,
- cpu_cost=cpu_cost)
+ cpu_cost=cpu_cost,
+ verbose_success=verbose_success)
return jobspec
@@ -177,7 +181,7 @@ class PythonArtifact:
self.name,
['tools/run_tests/artifacts/build_artifact_python.sh'],
environ=environ,
- timeout_seconds=60 * 60,
+ timeout_seconds=60 * 60 * 2,
use_workspace=True)
def __str__(self):
@@ -218,7 +222,13 @@ class CSharpExtArtifact:
return []
def build_jobspec(self):
- if self.platform == 'windows':
+ if self.arch == 'android':
+ return create_docker_jobspec(
+ self.name,
+ 'tools/dockerfile/grpc_artifact_android_ndk',
+ 'tools/run_tests/artifacts/build_artifact_csharp_android.sh',
+ environ={})
+ elif self.platform == 'windows':
cmake_arch_option = 'Win32' if self.arch == 'x86' else self.arch
return create_jobspec(
self.name, [
@@ -317,6 +327,7 @@ class ProtocArtifact:
self.name,
['tools/run_tests/artifacts/build_artifact_protoc.sh'],
environ=environ,
+ timeout_seconds=60 * 60,
use_workspace=True)
else:
generator = 'Visual Studio 14 2015 Win64' if self.arch == 'x64' else 'Visual Studio 14 2015'
@@ -337,6 +348,7 @@ def targets():
for Cls in (CSharpExtArtifact, ProtocArtifact)
for platform in ('linux', 'macos', 'windows') for arch in ('x86', 'x64')
] + [
+ CSharpExtArtifact('linux', 'android'),
PythonArtifact('linux', 'x86', 'cp27-cp27m'),
PythonArtifact('linux', 'x86', 'cp27-cp27mu'),
PythonArtifact('linux', 'x86', 'cp34-cp34m'),
diff --git a/tools/run_tests/artifacts/build_artifact_csharp_android.sh b/tools/run_tests/artifacts/build_artifact_csharp_android.sh
new file mode 100755
index 0000000000..ba598e76a4
--- /dev/null
+++ b/tools/run_tests/artifacts/build_artifact_csharp_android.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# Copyright 2016 gRPC authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -ex
+
+cd "$(dirname "$0")/../../.."
+
+src/csharp/experimental/build_native_ext_for_android.sh
+
+mkdir -p "${ARTIFACTS_OUT}"
+cp cmake/build/libgrpc_csharp_ext.so "${ARTIFACTS_OUT}"
diff --git a/tools/run_tests/artifacts/build_artifact_python.sh b/tools/run_tests/artifacts/build_artifact_python.sh
index 9ea0f05660..cd794a1391 100755
--- a/tools/run_tests/artifacts/build_artifact_python.sh
+++ b/tools/run_tests/artifacts/build_artifact_python.sh
@@ -17,7 +17,6 @@ set -ex
cd "$(dirname "$0")/../../.."
-export GRPC_PYTHON_USE_CUSTOM_BDIST=0
export GRPC_PYTHON_BUILD_WITH_CYTHON=1
export PYTHON=${PYTHON:-python}
export PIP=${PIP:-pip}
diff --git a/tools/run_tests/artifacts/build_package_php.sh b/tools/run_tests/artifacts/build_package_php.sh
index 85e4dda40a..9a8f25a6f8 100755
--- a/tools/run_tests/artifacts/build_package_php.sh
+++ b/tools/run_tests/artifacts/build_package_php.sh
@@ -17,5 +17,10 @@ set -ex
cd "$(dirname "$0")/../../.."
+# All the PHP packages have been built in the artifact phase already
+# and we only collect them here to deliver them to the distribtest phase.
mkdir -p artifacts/
-cp -r "$EXTERNAL_GIT_ROOT"/platform={windows,linux,macos}/artifacts/php_*/* artifacts/ || true
+# Jenkins flow (deprecated)
+cp -r "${EXTERNAL_GIT_ROOT}"/platform={windows,linux,macos}/artifacts/php_*/* artifacts/ || true
+# Kokoro flow
+cp -r "${EXTERNAL_GIT_ROOT}"/input_artifacts/php_*/* artifacts/ || true
diff --git a/tools/run_tests/artifacts/build_package_python.sh b/tools/run_tests/artifacts/build_package_python.sh
index d596e35000..15627881e8 100755
--- a/tools/run_tests/artifacts/build_package_python.sh
+++ b/tools/run_tests/artifacts/build_package_python.sh
@@ -21,7 +21,10 @@ mkdir -p artifacts/
# All the python packages have been built in the artifact phase already
# and we only collect them here to deliver them to the distribtest phase.
-cp -r "$EXTERNAL_GIT_ROOT"/platform={windows,linux,macos}/artifacts/python_*/* artifacts/ || true
+# Jenkins flow (deprecated)
+cp -r "${EXTERNAL_GIT_ROOT}"/platform={windows,linux,macos}/artifacts/python_*/* artifacts/ || true
+# Kokoro flow
+cp -r "${EXTERNAL_GIT_ROOT}"/input_artifacts/python_*/* artifacts/ || true
# TODO: all the artifact builder configurations generate a grpcio-VERSION.tar.gz
# source distribution package, and only one of them will end up
diff --git a/tools/run_tests/artifacts/build_package_ruby.sh b/tools/run_tests/artifacts/build_package_ruby.sh
index 0283c43843..4f74f08276 100755
--- a/tools/run_tests/artifacts/build_package_ruby.sh
+++ b/tools/run_tests/artifacts/build_package_ruby.sh
@@ -23,7 +23,10 @@ mkdir -p artifacts/
# All the ruby packages have been built in the artifact phase already
# and we only collect them here to deliver them to the distribtest phase.
-cp -r "$EXTERNAL_GIT_ROOT"/platform={windows,linux,macos}/artifacts/ruby_native_gem_*/* artifacts/ || true
+# Jenkins flow (deprecated)
+cp -r "${EXTERNAL_GIT_ROOT}"/platform={windows,linux,macos}/artifacts/ruby_native_gem_*/* artifacts/ || true
+# Kokoro flow
+cp -r "${EXTERNAL_GIT_ROOT}"/input_artifacts/ruby_native_gem_*/* artifacts/ || true
well_known_protos=( any api compiler/plugin descriptor duration empty field_mask source_context struct timestamp type wrappers )
@@ -41,12 +44,20 @@ for arch in {x86,x64}; do
;;
esac
for plat in {windows,linux,macos}; do
- input_dir="$EXTERNAL_GIT_ROOT/platform=${plat}/artifacts/protoc_${plat}_${arch}"
+ if [ "${KOKORO_JOB_NAME}" != "" ]
+ then
+ input_dir="${EXTERNAL_GIT_ROOT}/input_artifacts/protoc_${plat}_${arch}"
+ else
+ input_dir="${EXTERNAL_GIT_ROOT}/platform=${plat}/artifacts/protoc_${plat}_${arch}"
+ fi
output_dir="$base/src/ruby/tools/bin/${ruby_arch}-${plat}"
mkdir -p "$output_dir"/google/protobuf
mkdir -p "$output_dir"/google/protobuf/compiler # needed for plugin.proto
- cp "$input_dir"/protoc* "$output_dir"/
- cp "$input_dir"/grpc_ruby_plugin* "$output_dir"/
+ cp "$input_dir"/protoc* "$input_dir"/grpc_ruby_plugin* "$output_dir/"
+ if [[ "$plat" != "windows" ]]
+ then
+ chmod +x "$output_dir/protoc" "$output_dir/grpc_ruby_plugin"
+ fi
for proto in "${well_known_protos[@]}"; do
cp "$base/third_party/protobuf/src/google/protobuf/$proto.proto" "$output_dir/google/protobuf/$proto.proto"
done
diff --git a/tools/run_tests/artifacts/distribtest_targets.py b/tools/run_tests/artifacts/distribtest_targets.py
index fdf094cd01..80adc20184 100644
--- a/tools/run_tests/artifacts/distribtest_targets.py
+++ b/tools/run_tests/artifacts/distribtest_targets.py
@@ -146,8 +146,12 @@ class CSharpDistribTest(object):
class PythonDistribTest(object):
"""Tests Python package"""
- def __init__(self, platform, arch, docker_suffix):
- self.name = 'python_%s_%s_%s' % (platform, arch, docker_suffix)
+ def __init__(self, platform, arch, docker_suffix, source=False):
+ self.source = source
+ if source:
+ self.name = 'python_dev_%s_%s_%s' % (platform, arch, docker_suffix)
+ else:
+ self.name = 'python_%s_%s_%s' % (platform, arch, docker_suffix)
self.platform = platform
self.arch = arch
self.docker_suffix = docker_suffix
@@ -160,12 +164,20 @@ class PythonDistribTest(object):
if not self.platform == 'linux':
raise Exception("Not supported yet.")
- return create_docker_jobspec(
- self.name,
- 'tools/dockerfile/distribtest/python_%s_%s' % (self.docker_suffix,
- self.arch),
- 'test/distrib/python/run_distrib_test.sh',
- copy_rel_path='test/distrib')
+ if self.source:
+ return create_docker_jobspec(
+ self.name,
+ 'tools/dockerfile/distribtest/python_dev_%s_%s' %
+ (self.docker_suffix, self.arch),
+ 'test/distrib/python/run_source_distrib_test.sh',
+ copy_rel_path='test/distrib')
+ else:
+ return create_docker_jobspec(
+ self.name,
+ 'tools/dockerfile/distribtest/python_%s_%s' %
+ (self.docker_suffix, self.arch),
+ 'test/distrib/python/run_binary_distrib_test.sh',
+ copy_rel_path='test/distrib')
def __str__(self):
return self.name
@@ -232,7 +244,7 @@ class PHPDistribTest(object):
copy_rel_path='test/distrib')
elif self.platform == 'macos':
return create_jobspec(
- self.name, ['test/distrib/php/run_distrib_test.sh'],
+ self.name, ['test/distrib/php/run_distrib_test_macos.sh'],
environ={'EXTERNAL_GIT_ROOT': '../../../..'},
use_workspace=True)
else:
@@ -287,14 +299,15 @@ def targets():
return [
CppDistribTest('linux', 'x64', 'jessie', 'routeguide'),
CppDistribTest('linux', 'x64', 'jessie', 'cmake'),
+ CppDistribTest('linux', 'x64', 'jessie', 'cmake_as_externalproject'),
+ CppDistribTest('linux', 'x64', 'jessie', 'cmake_as_submodule'),
CppDistribTest('windows', 'x86', testcase='cmake'),
+ CppDistribTest('windows', 'x86', testcase='cmake_as_externalproject'),
CSharpDistribTest('linux', 'x64', 'wheezy'),
CSharpDistribTest('linux', 'x64', 'jessie'),
CSharpDistribTest('linux', 'x86', 'jessie'),
CSharpDistribTest('linux', 'x64', 'centos7'),
CSharpDistribTest('linux', 'x64', 'ubuntu1404'),
- CSharpDistribTest('linux', 'x64', 'ubuntu1504'),
- CSharpDistribTest('linux', 'x64', 'ubuntu1510'),
CSharpDistribTest('linux', 'x64', 'ubuntu1604'),
CSharpDistribTest('linux', 'x64', 'ubuntu1404', use_dotnet_cli=True),
CSharpDistribTest('macos', 'x86'),
@@ -313,9 +326,15 @@ def targets():
PythonDistribTest('linux', 'x64', 'arch'),
PythonDistribTest('linux', 'x64', 'ubuntu1204'),
PythonDistribTest('linux', 'x64', 'ubuntu1404'),
- PythonDistribTest('linux', 'x64', 'ubuntu1504'),
- PythonDistribTest('linux', 'x64', 'ubuntu1510'),
PythonDistribTest('linux', 'x64', 'ubuntu1604'),
+ PythonDistribTest('linux', 'x64', 'jessie', source=True),
+ PythonDistribTest('linux', 'x86', 'jessie', source=True),
+ PythonDistribTest('linux', 'x64', 'centos7', source=True),
+ PythonDistribTest('linux', 'x64', 'fedora22', source=True),
+ PythonDistribTest('linux', 'x64', 'fedora23', source=True),
+ PythonDistribTest('linux', 'x64', 'arch', source=True),
+ PythonDistribTest('linux', 'x64', 'ubuntu1404', source=True),
+ PythonDistribTest('linux', 'x64', 'ubuntu1604', source=True),
RubyDistribTest('linux', 'x64', 'wheezy'),
RubyDistribTest('linux', 'x64', 'jessie'),
RubyDistribTest('linux', 'x86', 'jessie'),
@@ -329,8 +348,6 @@ def targets():
RubyDistribTest('linux', 'x64', 'opensuse'),
RubyDistribTest('linux', 'x64', 'ubuntu1204'),
RubyDistribTest('linux', 'x64', 'ubuntu1404'),
- RubyDistribTest('linux', 'x64', 'ubuntu1504'),
- RubyDistribTest('linux', 'x64', 'ubuntu1510'),
RubyDistribTest('linux', 'x64', 'ubuntu1604'),
PHPDistribTest('linux', 'x64', 'jessie'),
PHPDistribTest('macos', 'x64'),