diff options
author | Muxi Yan <muxi@users.noreply.github.com> | 2018-07-18 09:41:18 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-18 09:41:18 -0700 |
commit | 125c9099d75fcacd8f8e8d9f7ee0bf0186a5abd5 (patch) | |
tree | 556c5a9154bd63ce195da2764763b25d8b03c88b /tools/internal_ci | |
parent | cb7784734a51ca2e753f75214f3389a8a7f857e5 (diff) | |
parent | 1204cb08574d8e02d293a9790255472dc58b867d (diff) |
Merge pull request #15692 from muxi/binary-size-ci
iOS binary size diff integration with Kokoro
Diffstat (limited to 'tools/internal_ci')
3 files changed, 60 insertions, 1 deletions
diff --git a/tools/internal_ci/helper_scripts/prepare_build_macos_rc b/tools/internal_ci/helper_scripts/prepare_build_macos_rc index 7cdb2e0cf7..bc7fff1b14 100644 --- a/tools/internal_ci/helper_scripts/prepare_build_macos_rc +++ b/tools/internal_ci/helper_scripts/prepare_build_macos_rc @@ -39,11 +39,17 @@ pip install google-api-python-client==1.6.7 --user python export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/GrpcTesting-d0eeee2db331.json # If this is a PR using RUN_TESTS_FLAGS var, then add flags to filter tests -if [ -n "$KOKORO_GITHUB_PULL_REQUEST_NUMBER" ] && [ -n "$RUN_TESTS_FLAGS" ]; then +if [ -n "$KOKORO_GITHUB_PULL_REQUEST_NUMBER" ]; then + set +x brew update brew install jq ghprbTargetBranch=$(curl -s https://api.github.com/repos/grpc/grpc/pulls/$KOKORO_GITHUB_PULL_REQUEST_NUMBER | jq -r .base.ref) export RUN_TESTS_FLAGS="$RUN_TESTS_FLAGS --filter_pr_tests --base_branch origin/$ghprbTargetBranch" + + # TODO(matt-kwong): rename this to GITHUB_OAUTH_TOKEN after Jenkins deprecation + export JENKINS_OAUTH_TOKEN=$(cat ${KOKORO_GFILE_DIR}/oauth_token.txt) + export ghprbPullId=$KOKORO_GITHUB_PULL_REQUEST_NUMBER + set -x fi set +ex # rvm script is very verbose and exits with errorcode diff --git a/tools/internal_ci/macos/grpc_ios_binary_size.sh b/tools/internal_ci/macos/grpc_ios_binary_size.sh new file mode 100755 index 0000000000..ea39b0d6e9 --- /dev/null +++ b/tools/internal_ci/macos/grpc_ios_binary_size.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright 2018 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. +# +# This script is invoked by Jenkins and runs a diff on the microbenchmarks +set -ex + +# List of benchmarks that provide good signal for analyzing performance changes in pull requests + +# Enter the gRPC repo root +cd $(dirname $0)/../../.. + +source tools/internal_ci/helper_scripts/prepare_build_macos_rc + +tools/profiling/ios_bin/binary_size.py \ + -d origin/$ghprbTargetBranch diff --git a/tools/internal_ci/macos/pull_request/grpc_ios_binary_size.cfg b/tools/internal_ci/macos/pull_request/grpc_ios_binary_size.cfg new file mode 100644 index 0000000000..8942bc7ba7 --- /dev/null +++ b/tools/internal_ci/macos/pull_request/grpc_ios_binary_size.cfg @@ -0,0 +1,26 @@ +# Copyright 2018 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/macos/grpc_ios_binary_size.sh" +timeout_mins: 60 +gfile_resources: "/bigstore/grpc-testing-secrets/github_credentials/oauth_token.txt" +action { + define_artifacts { + regex: "**/*sponge_log.xml" + regex: "github/grpc/reports/**" + } +} |