Skip to content

Commit 241fdb3

Browse files
committed
feat: add build seed to the sim result reports
The build seed was surfaced in the original DVSim CLI reports, and so should probably be surfaced in the HTML reports as well. Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
1 parent f49a968 commit 241fdb3

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

src/dvsim/sim/data.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ class SimFlowResults(BaseModel):
210210
timestamp: datetime
211211
"""Timestamp for when the test ran."""
212212

213+
build_seed: int | None
214+
"""Build seed."""
215+
213216
stages: Mapping[str, TestStage]
214217
"""Results per test stage."""
215218
coverage: CoverageMetrics | None
@@ -253,6 +256,9 @@ class SimResultsSummary(BaseModel):
253256
timestamp: datetime
254257
"""Run time stamp."""
255258

259+
build_seed: int | None
260+
"""Build seed."""
261+
256262
flow_results: Mapping[str, SimFlowResults]
257263
"""Flow results."""
258264

src/dvsim/sim/flow.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,7 @@ def gen_results(self, results: Sequence[CompletedJobStatus]) -> None:
605605
reports_dir = Path(self.scratch_base_path) / "reports"
606606
commit = git_commit_hash(path=repo_root)
607607
url = git_https_url_with_commit(path=repo_root)
608+
build_seed = self.build_seed if not self.run_only else None
608609

609610
try:
610611
dvsim_version = version("dvsim").strip()
@@ -666,6 +667,7 @@ def gen_results(self, results: Sequence[CompletedJobStatus]) -> None:
666667
top=top,
667668
version=dvsim_version,
668669
timestamp=timestamp,
670+
build_seed=build_seed,
669671
flow_results=all_flow_results,
670672
report_path=reports_dir,
671673
)
@@ -709,6 +711,8 @@ def _gen_json_results(
709711
)
710712
tool = ToolMeta(name=self.tool.lower(), version="unknown")
711713

714+
build_seed = self.build_seed if not self.run_only else None
715+
712716
# --- Build stages only from testpoints that have at least one executed test ---
713717
stage_to_tps: defaultdict[str, dict[str, Testpoint]] = defaultdict(dict)
714718

@@ -808,6 +812,7 @@ def make_test_result(tr) -> TestResult | None:
808812
block=block,
809813
tool=tool,
810814
timestamp=timestamp,
815+
build_seed=build_seed,
811816
stages=stages,
812817
coverage=coverage_model,
813818
failed_jobs=failures,

src/dvsim/templates/reports/block_report.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
{% extends "reports/wrapper.html" %}
88
{% set block = results.block %}
99
{% set tool = results.tool %}
10+
{% set build_seed = results.build_seed %}
1011
{% set timestamp = results.timestamp %}
1112
{% set stages = results.stages %}
1213
{% set coverage = results.coverage %}
@@ -58,6 +59,11 @@ <h2>Simulation Results: {{ block.variant_name(sep='/') }}</h2>
5859
<span class="badge text-bg-secondary">
5960
Tool: {{ tool.name }} [{{ tool.version }}]
6061
</span>
62+
{% if build_seed %}
63+
<span class="badge text-bg-secondary">
64+
Build seed: {{ build_seed }}
65+
</span>
66+
{% endif %}
6167
</div>
6268

6369
{% macro coverage_stat(cov, kind, label) %}

src/dvsim/templates/reports/summary_report.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
{% set meta_info = top if top is not none else first_result.block %}
1111
{% set timestamp = summary.timestamp %}
1212
{% set version = summary.version %}
13+
{% set build_seed = summary.build_seed %}
1314
{% set title = "Simulation Results: %s"|format(top.name) if top else "Simulation Results (Summary)" %}
1415
{% block content %}
1516
<div class="container-md">
@@ -57,6 +58,11 @@ <h2>{{ title }}</h2>
5758
<span class="badge text-bg-secondary">
5859
Branch: {{ meta_info.branch }}
5960
</span>
61+
{% if build_seed %}
62+
<span class="badge text-bg-secondary">
63+
Build seed: {{ build_seed }}
64+
</span>
65+
{% endif %}
6066
</div>
6167
</div>
6268

0 commit comments

Comments
 (0)