diff options
-rw-r--r-- | tools/internal_ci/linux/grpc_interop_tocloud.cfg | 2 | ||||
-rwxr-xr-x | tools/internal_ci/linux/grpc_interop_tocloud.sh | 2 | ||||
-rw-r--r-- | tools/internal_ci/linux/grpc_interop_toprod.cfg | 26 | ||||
-rw-r--r-- | tools/internal_ci/linux/grpc_interop_toprod.sh | 32 | ||||
-rwxr-xr-x | tools/run_tests/run_interop_tests.py | 19 |
5 files changed, 77 insertions, 4 deletions
diff --git a/tools/internal_ci/linux/grpc_interop_tocloud.cfg b/tools/internal_ci/linux/grpc_interop_tocloud.cfg index 1f6421c83d..0c31b497af 100644 --- a/tools/internal_ci/linux/grpc_interop_tocloud.cfg +++ b/tools/internal_ci/linux/grpc_interop_tocloud.cfg @@ -20,6 +20,6 @@ build_file: "grpc/tools/internal_ci/linux/grpc_interop_tocloud.sh" timeout_mins: 480 action { define_artifacts { - regex: "**/report.xml" + regex: "**/sponge_log.xml" } } diff --git a/tools/internal_ci/linux/grpc_interop_tocloud.sh b/tools/internal_ci/linux/grpc_interop_tocloud.sh index fe5c9a5130..e3ba25af5d 100755 --- a/tools/internal_ci/linux/grpc_interop_tocloud.sh +++ b/tools/internal_ci/linux/grpc_interop_tocloud.sh @@ -23,4 +23,4 @@ cd $(dirname $0)/../../.. source tools/internal_ci/helper_scripts/prepare_build_linux_rc source tools/internal_ci/helper_scripts/prepare_build_interop_rc -tools/run_tests/run_interop_tests.py -l all -s all --use_docker --http2_interop -t -j 12 $@ +tools/run_tests/run_interop_tests.py -l all -s all --use_docker --http2_interop --internal_ci -t -j 12 $@ diff --git a/tools/internal_ci/linux/grpc_interop_toprod.cfg b/tools/internal_ci/linux/grpc_interop_toprod.cfg new file mode 100644 index 0000000000..18978b87e5 --- /dev/null +++ b/tools/internal_ci/linux/grpc_interop_toprod.cfg @@ -0,0 +1,26 @@ +# Copyright 2017 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_interop_toprod.sh" +# grpc_interop tests can take 6+ hours to complete. +timeout_mins: 60 +action { + define_artifacts { + regex: "**/sponge_log.xml" + } +} + diff --git a/tools/internal_ci/linux/grpc_interop_toprod.sh b/tools/internal_ci/linux/grpc_interop_toprod.sh new file mode 100644 index 0000000000..3d06185406 --- /dev/null +++ b/tools/internal_ci/linux/grpc_interop_toprod.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Copyright 2017 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 + +export LANG=en_US.UTF-8 + +# Enter the gRPC repo root +cd $(dirname $0)/../../.. + +source tools/internal_ci/helper_scripts/prepare_build_linux_rc +source tools/internal_ci/helper_scripts/prepare_build_interop_rc + +tools/run_tests/run_interop_tests.py \ + -l all \ + --cloud_to_prod \ + --cloud_to_prod_auth \ + --prod_servers default gateway_v4 \ + --use_docker --internal_ci -t -j 12 $@ + diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py index 80062aa37d..1e702a8636 100755 --- a/tools/run_tests/run_interop_tests.py +++ b/tools/run_tests/run_interop_tests.py @@ -63,6 +63,13 @@ _TEST_TIMEOUT = 3*60 # see https://github.com/grpc/grpc/issues/9779 _SKIP_DATA_FRAME_PADDING = ['data_frame_padding'] +# report suffix is important for reports to get picked up by internal CI +_INTERNAL_CL_XML_REPORT = 'sponge_log.xml' + +# report suffix is important for reports to get picked up by internal CI +_XML_REPORT = 'report.xml' + + class CXXLanguage: def __init__(self): @@ -943,7 +950,12 @@ argp.add_argument('--insecure', action='store_const', const=True, help='Whether to use secure channel.') - +argp.add_argument('--internal_ci', + default=False, + action='store_const', + const=True, + help=('Put reports into subdirectories to improve ' + 'presentation of results by Internal CI.')) args = argp.parse_args() servers = set(s for s in itertools.chain.from_iterable(_SERVERS @@ -1201,7 +1213,10 @@ try: write_cmdlog_maybe(server_manual_cmd_log, 'interop_server_cmds.sh') write_cmdlog_maybe(client_manual_cmd_log, 'interop_client_cmds.sh') - report_utils.render_junit_xml_report(resultset, 'report.xml') + xml_report_name = _XML_REPORT + if args.internal_ci: + xml_report_name = _INTERNAL_CL_XML_REPORT + report_utils.render_junit_xml_report(resultset, xml_report_name) for name, job in resultset.items(): if "http2" in name: |