Skip to content
Snippets Groups Projects
Commit 68309b42 authored by Matt Kwong's avatar Matt Kwong
Browse files

Add test to check if bazel subdirectory was modified

parent 18528f28
No related branches found
No related tags found
No related merge requests found
......@@ -20,4 +20,6 @@ set -ex -o igncr || set -ex
export DOCKERFILE_DIR=tools/dockerfile/test/bazel
export DOCKER_RUN_SCRIPT=tools/jenkins/run_bazel_full_in_docker.sh
# Warn PR author if they make a change to the bazel directory
tools/run_tests/python_utils/check_bazel_dir.py
exec tools/run_tests/dockerize/build_and_run_docker.sh
#!/usr/bin/env python
# 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.
"""This sends out a warning if any changes to the bazel dir are made."""
from __future__ import print_function
from subprocess import check_output
import comment_on_pr
import os
_WARNING_MESSAGE = 'WARNING: You are making changes in the Bazel subdirectory. ' \
'Please get explicit approval from @nicolasnoble before merging.'
def _get_changed_files(base_branch):
"""
Get list of changed files between current branch and base of target merge branch
"""
# Get file changes between branch and merge-base of specified branch
base_commit = check_output(["git", "merge-base", base_branch, "HEAD"]).rstrip()
return check_output(["git", "diff", base_commit, "--name-only"]).splitlines()
# ghprbTargetBranch environment variable only available during a Jenkins PR tests
if 'ghprbTargetBranch' in os.environ:
changed_files = _get_changed_files('origin/%s' % os.environ['ghprbTargetBranch'])
if any(file.startswith('bazel/') for file in changed_files):
comment_on_pr.comment_on_pr(_WARNING_MESSAGE)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment