From d2dffc5458d2eb6caa25db986aa2c24fdd9ddcd5 Mon Sep 17 00:00:00 2001 From: George Burgess IV Date: Wed, 2 Mar 2022 12:11:57 -0800 Subject: 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 Commit-Queue: George Burgess Tested-by: George Burgess --- llvm_tools/nightly_revert_checker.py | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'llvm_tools') 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 -- cgit v1.2.3