diff options
author | Jeremy Bettis <jbettis@google.com> | 2022-12-07 16:52:19 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-12-10 00:32:19 +0000 |
commit | 948b29d6dd29039a7aa226a47842574ab15abb21 (patch) | |
tree | 48e5bf01bd5d2664ddc78720846c132f9ebad5bf | |
parent | de8908e10a76bd627df93c393f17115140cd23ce (diff) | |
download | chrome-ec-948b29d6dd29039a7aa226a47842574ab15abb21.tar.gz |
cq: Export a few boards in binary_sizes
For the boards that we track for coverage, set the track_in_gerrit
option on the metric.
BRANCH=None
BUG=b:261622866
TEST=./firmware_builder.py --metrics /tmp/metrics_build build
Change-Id: I6795c594fcb2fd67ff2a07b5872130d691576740
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4086976
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
Tested-by: Jeremy Bettis <jbettis@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
-rwxr-xr-x | zephyr/firmware_builder.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/zephyr/firmware_builder.py b/zephyr/firmware_builder.py index aefce54e0f..aa470ea583 100755 --- a/zephyr/firmware_builder.py +++ b/zephyr/firmware_builder.py @@ -26,6 +26,15 @@ DEFAULT_BUNDLE_METADATA_FILE = "/tmp/artifact_bundle_metadata" # Boards that we want to track the coverage of our own files specifically. SPECIAL_BOARDS = ["herobrine", "krabby", "nivviks", "skyrim", "kingler", "rex"] +BINARY_SIZE_REGIONS = [ + "RO_FLASH", + "RO_RAM", + "RO_ROM", + "RW_FLASH", + "RW_RAM", + "RW_ROM", +] + def log_cmd(cmd, env=None): """Log subprocess command.""" @@ -74,7 +83,12 @@ def build(opts): metric.platform_name = project.config.zephyr_board for (variant, _) in project.iter_builds(): build_log = build_dir / f"build-{variant}" / "build.log" - parse_buildlog(build_log, metric, variant.upper()) + parse_buildlog( + build_log, + metric, + variant.upper(), + metric.target_name in SPECIAL_BOARDS, + ) with open(opts.metrics, "w") as file: file.write(json_format.MessageToJson(metric_list)) @@ -87,7 +101,7 @@ UNITS = { } -def parse_buildlog(filename, metric, variant): +def parse_buildlog(filename, metric, variant, track_on_gerrit): """Parse the build.log generated by zmake to find the size of the image.""" with open(filename, "r") as infile: # Skip over all lines until the memory report is found @@ -107,7 +121,10 @@ def parse_buildlog(filename, metric, variant): fw_section.region = variant + "_" + parts[0][:-1] fw_section.used = int(parts[1]) * UNITS[parts[2]] fw_section.total = int(parts[3]) * UNITS[parts[4]] - fw_section.track_on_gerrit = False + if track_on_gerrit and fw_section.region in BINARY_SIZE_REGIONS: + fw_section.track_on_gerrit = True + else: + fw_section.track_on_gerrit = False def bundle(opts): |