aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Burgess IV <gbiv@google.com>2022-03-02 12:11:57 -0800
committerCommit Bot <commit-bot@chromium.org>2022-03-02 21:06:13 +0000
commitd2dffc5458d2eb6caa25db986aa2c24fdd9ddcd5 (patch)
treee28f1062924f04d4e7daef62c7966dc604486afa
parent79644ecd692df1a59cc50e9d31514948edb74852 (diff)
downloadtoolchain-utils-d2dffc5458d2eb6caa25db986aa2c24fdd9ddcd5.tar.gz
nightly_revert_checker: add logging
Android is reporting strange behavior for this script; logging the SHAs we observe on chrotomation each night will hopefully help us understand this. BUG=None TEST=Unittests Change-Id: Id3a41d9c5f9eae7021863bc994cedeb5469158ae Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3498905 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
-rwxr-xr-xllvm_tools/nightly_revert_checker.py33
1 files changed, 22 insertions, 11 deletions
diff --git a/llvm_tools/nightly_revert_checker.py b/llvm_tools/nightly_revert_checker.py
index 8e3fcf57..89485088 100755
--- a/llvm_tools/nightly_revert_checker.py
+++ b/llvm_tools/nightly_revert_checker.py
@@ -24,25 +24,34 @@ import typing as t
import cros_utils.email_sender as email_sender
import cros_utils.tiny_render as tiny_render
+
import get_llvm_hash
+import get_upstream_patch
import git_llvm_rev
import revert_checker
-import get_upstream_patch
State = t.Any
-def _find_interesting_android_shas(
- android_llvm_toolchain_dir: str) -> t.List[t.Tuple[str, str]]:
+def _find_interesting_android_shas(android_llvm_toolchain_dir: str
+ ) -> t.List[t.Tuple[str, str]]:
llvm_project = os.path.join(android_llvm_toolchain_dir,
'toolchain/llvm-project')
def get_llvm_merge_base(branch: str) -> str:
- return subprocess.check_output(
+ head_sha = subprocess.check_output(
+ ['git', 'rev-parse', branch],
+ cwd=llvm_project,
+ encoding='utf-8',
+ ).strip()
+ merge_base = subprocess.check_output(
['git', 'merge-base', branch, 'aosp/upstream-main'],
cwd=llvm_project,
encoding='utf-8',
).strip()
+ logging.info('Merge-base for %s (HEAD == %s) and upstream-main is %s',
+ branch, head_sha, merge_base)
+ return merge_base
main_legacy = get_llvm_merge_base('aosp/master-legacy') # nocheck
testing_upstream = get_llvm_merge_base('aosp/testing-upstream')
@@ -51,11 +60,14 @@ def _find_interesting_android_shas(
# If these are the same SHA, there's no point in tracking both.
if main_legacy != testing_upstream:
result.append(('testing-upstream', testing_upstream))
+ else:
+ logging.info('main-legacy and testing-upstream are identical; ignoring '
+ 'the latter.')
return result
-def _parse_llvm_ebuild_for_shas(
- ebuild_file: io.TextIOWrapper) -> t.List[t.Tuple[str, str]]:
+def _parse_llvm_ebuild_for_shas(ebuild_file: io.TextIOWrapper
+ ) -> t.List[t.Tuple[str, str]]:
def parse_ebuild_assignment(line: str) -> str:
no_comments = line.split('#')[0]
no_assign = no_comments.split('=', 1)[1].strip()
@@ -82,8 +94,8 @@ def _parse_llvm_ebuild_for_shas(
return results
-def _find_interesting_chromeos_shas(
- chromeos_base: str) -> t.List[t.Tuple[str, str]]:
+def _find_interesting_chromeos_shas(chromeos_base: str
+ ) -> t.List[t.Tuple[str, str]]:
llvm_dir = os.path.join(chromeos_base,
'src/third_party/chromiumos-overlay/sys-devel/llvm')
candidate_ebuilds = [
@@ -327,9 +339,8 @@ def parse_args(argv: t.List[str]) -> t.Any:
return parser.parse_args(argv)
-def find_chroot(
- opts: t.Any, reviewers: t.List[str], cc: t.List[str]
-) -> t.Tuple[str, t.List[t.Tuple[str, str]], _EmailRecipients]:
+def find_chroot(opts: t.Any, reviewers: t.List[str], cc: t.List[str]
+ ) -> t.Tuple[str, t.List[t.Tuple[str, str]], _EmailRecipients]:
recipients = reviewers + cc
if opts.repository == 'chromeos':
chroot_path = opts.chromeos_dir