diff options
author | Usta Shrestha <usta@google.com> | 2023-03-03 03:58:54 -0500 |
---|---|---|
committer | Usta Shrestha <usta@google.com> | 2023-03-03 04:00:23 -0500 |
commit | 3c1acc09fe2c83d84ce11dd2413103b0dea39af0 (patch) | |
tree | 774190262bf3e90a6af3aa9657c90efba65ee75c /scripts | |
parent | 7092a040029b2424ca3f5e19ebaf7c1893eea80a (diff) | |
download | bazel-3c1acc09fe2c83d84ce11dd2413103b0dea39af0.tar.gz |
minor cosmetic changes to output
Test: ./incremental_build.py -c change -b prod -- nothing
Bug: NA
Change-Id: I52e26251fe8ffe068fd2bce9eb4efa646c08a2fe
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/incremental_build/incremental_build.py | 8 | ||||
-rw-r--r-- | scripts/incremental_build/util.py | 18 |
2 files changed, 14 insertions, 12 deletions
diff --git a/scripts/incremental_build/incremental_build.py b/scripts/incremental_build/incremental_build.py index c6a01f0c..5521c89b 100755 --- a/scripts/incremental_build/incremental_build.py +++ b/scripts/incremental_build/incremental_build.py @@ -93,7 +93,8 @@ def _build_file_size() -> int: BuildInfo = dict[str, any] -def _build(build_type: ui.BuildType, logfile: Path) -> (int, BuildInfo): +def _build(build_type: ui.BuildType, run_dir: Path) -> (int, BuildInfo): + logfile = run_dir.joinpath('output.txt') logging.info('TIP: to see the log:\n tail -f "%s"', logfile) cmd = [*build_type.value, *ui.get_user_input().targets] logging.info('Command: %s', cmd) @@ -122,6 +123,7 @@ def _build(build_type: ui.BuildType, logfile: Path) -> (int, BuildInfo): action_count_before = get_action_count() if action_count_before > 0: recompact_ninja_log() + action_count_before = get_action_count() f.write(f'Command: {cmd}\n') f.write(f'Environment Variables:\n{textwrap.indent(env_str, " ")}\n\n\n') f.flush() @@ -136,7 +138,7 @@ def _build(build_type: ui.BuildType, logfile: Path) -> (int, BuildInfo): 'build.ninja': _build_file_sha(), 'build.ninja.size': _build_file_size(), 'targets': ' '.join(ui.get_user_input().targets), - 'log': str(logfile.relative_to(ui.get_user_input().log_dir)), + 'log': str(run_dir.relative_to(ui.get_user_input().log_dir)), 'ninja_explains': util.count_explanations(logfile), 'actions': action_count_after - action_count_before, 'time': util.hhmmss(datetime.timedelta(microseconds=elapsed_ns / 1000)) @@ -148,7 +150,7 @@ def _run_cuj(run_dir: Path, build_type: ui.BuildType, is_clean = not util.get_out_dir().joinpath( 'soong/bootstrap.ninja').exists() run_dir.mkdir(parents=True, exist_ok=False) - (exit_code, build_info) = _build(build_type, run_dir.joinpath('output.txt')) + (exit_code, build_info) = _build(build_type, run_dir) # if build was successful, run test if exit_code != 0: build_result = cuj_catalog.BuildResult.FAILED.name diff --git a/scripts/incremental_build/util.py b/scripts/incremental_build/util.py index fdc28a14..abe676fe 100644 --- a/scripts/incremental_build/util.py +++ b/scripts/incremental_build/util.py @@ -30,15 +30,15 @@ SUMMARY_CSV: Final[str] = 'summary.csv' RUN_DIR_PREFIX: Final[str] = 'run' BUILD_INFO_JSON: Final[str] = 'build_info.json' -_IMPORTANT_METRICS: set[str] = {r'soong/bootstrap', r'soong_build/\*\.bazel', - r'ninja/ninja', r'bp2build/', - r'symlink_forest/', - r'.*write_files.*'} - @functools.cache def _is_important(column) -> bool: - for pattern in _IMPORTANT_METRICS: + patterns = { + 'description', 'build_type', r'build\.ninja(\.size)?', 'targets', + 'log', 'actions', 'time', + r'soong_build/\*\.bazel', 'bp2build/', r'symlink_forest/', 'ninja/ninja', + r'.*write_files.*'} + for pattern in patterns: if re.fullmatch(pattern, column): return True return False @@ -66,9 +66,9 @@ def get_summary_cmd(d: Path) -> str: headers = reader.fieldnames or [] columns: list[int] = [i for i, h in enumerate(headers) if _is_important(h)] - columns.sort() - f = ''.join(',' + str(i + 1) for i in columns) - return f'cut -d, -f1-10{f} "{summary_csv.absolute()}" | column -t -s,' + f = ','.join(str(i + 1) for i in columns) + return f'grep -v rebuild- "{summary_csv}" | grep -v FAILED | ' \ + f'cut -d, -f{f} | column -t -s,' @functools.cache |