summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Bettis <jbettis@google.com>2022-12-07 16:52:19 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-12-10 00:32:19 +0000
commit948b29d6dd29039a7aa226a47842574ab15abb21 (patch)
tree48e5bf01bd5d2664ddc78720846c132f9ebad5bf
parentde8908e10a76bd627df93c393f17115140cd23ce (diff)
downloadchrome-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-xzephyr/firmware_builder.py23
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):