From 817c28f22fb39bc4c278cae65588a4009b6c4261 Mon Sep 17 00:00:00 2001
From: Jan Tattermusch <jtattermusch@google.com>
Date: Thu, 7 Feb 2019 18:33:02 +0100
Subject: [PATCH] scaffolding for flaky network test

---
 .../internal_ci/linux/grpc_flaky_network.cfg  | 23 ++++++++++++++
 .../linux/grpc_flaky_network_in_docker.sh     | 31 +++++++++++++++++++
 2 files changed, 54 insertions(+)
 create mode 100644 tools/internal_ci/linux/grpc_flaky_network.cfg
 create mode 100755 tools/internal_ci/linux/grpc_flaky_network_in_docker.sh

diff --git a/tools/internal_ci/linux/grpc_flaky_network.cfg b/tools/internal_ci/linux/grpc_flaky_network.cfg
new file mode 100644
index 00000000000..de7a3b9cd8f
--- /dev/null
+++ b/tools/internal_ci/linux/grpc_flaky_network.cfg
@@ -0,0 +1,23 @@
+# Copyright 2019 The 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.
+
+# Config file for the internal CI (in protobuf text format)
+
+# Location of the continuous shell script in repository.
+build_file: "grpc/tools/internal_ci/linux/grpc_bazel.sh"
+timeout_mins: 240
+env_vars {
+  key: "BAZEL_SCRIPT"
+  value: "tools/internal_ci/linux/grpc_flaky_network_in_docker.sh"
+}
diff --git a/tools/internal_ci/linux/grpc_flaky_network_in_docker.sh b/tools/internal_ci/linux/grpc_flaky_network_in_docker.sh
new file mode 100755
index 00000000000..42b6d44c1cb
--- /dev/null
+++ b/tools/internal_ci/linux/grpc_flaky_network_in_docker.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+# Copyright 2019 The 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.
+#
+# Run the flaky network test
+#
+# NOTE: No empty lines should appear in this file before igncr is set!
+set -ex -o igncr || set -ex
+
+mkdir -p /var/local/git
+git clone /var/local/jenkins/grpc /var/local/git/grpc
+(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \
+&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \
+${name}')
+cd /var/local/git/grpc
+
+# TODO(jtattermusch): install prerequsites if needed
+
+# TODO(jtattermusch): run the flaky network test instead
+bazel build --spawn_strategy=standalone --genrule_strategy=standalone :all test/... examples/...