Merge pull request #11752 from adelez/report_name

Use special report suffix for internal ci and add script for cloud-to-prod
pull/11568/head
adelez 8 years ago committed by GitHub
commit 212ef23a0a
  1. 2
      tools/internal_ci/linux/grpc_interop_tocloud.cfg
  2. 2
      tools/internal_ci/linux/grpc_interop_tocloud.sh
  3. 26
      tools/internal_ci/linux/grpc_interop_toprod.cfg
  4. 32
      tools/internal_ci/linux/grpc_interop_toprod.sh
  5. 19
      tools/run_tests/run_interop_tests.py

@ -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"
}
}

@ -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 $@

@ -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"
}
}

@ -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 $@

@ -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:

Loading…
Cancel
Save