Skip to content

Keep full-flow steps when generating metadata without QoR checks - #4683

Merged
vvbandeira merged 2 commits into
The-OpenROAD-Project:masterfrom
vvbandeira:dashboard-qor-target
Oct 15, 2026
Merged

vvbandeira merged 2 commits into
The-OpenROAD-Project:masterfrom
vvbandeira:dashboard-qor-target

Conversation

@vvbandeira

Copy link
Copy Markdown
Member

The flow helper returns before simulation, power, and issue packaging when a caller selects finish metadata-generate.
Keep those follow-up steps for this target so an external dashboard check can own the QoR verdict.
The default finish metadata and other custom targets keep their current behavior.

Add regression tests for the target's follow-up sequence, failure status, and dashboard metric details in the final summary.
Local validation: 91 utility tests ran with one existing Yosys skip, Bash syntax passed, and the changed Python tests passed Black 26.5.1.
Independent review found no major or blocker issue.
One minor follow-up remains to isolate inherited environment variables in the new helper test.

Risk: land this helper support before a Jenkins caller switches to finish metadata-generate.

Allow an external QoR checker to own the verdict without skipping
simulation, power, or issue packaging after metadata generation.

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
Use a public platform and synthetic timing values in the report fixture.
Keep the same assertions for the failed metric, limit, and baseline link.

Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for the finish metadata-generate target in test_helper.sh, which keeps all full-flow follow-up steps and delegates QoR checking to an external caller. It also introduces a new test suite in test_test_helper.py to verify helper targets and adds a test for dashboard QoR check failures in test_genReport.py. Feedback suggests filtering os.environ in the new test helper to ensure tests are hermetic and not affected by host environment variables.

Comment on lines +30 to +35
env = dict(
os.environ,
TARGET=target,
MAKE_ISSUE="1",
PRIVATE_DIR=str(flow / "private"),
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Inheriting the entire os.environ without filtering can make the test non-hermetic and prone to flakiness if variables like WORK_HOME, FLOW_VARIANT, or other flow-related environment variables are set in the host environment. Filtering these out ensures the test runs in a clean, controlled environment.

Suggested change
env = dict(
os.environ,
TARGET=target,
MAKE_ISSUE="1",
PRIVATE_DIR=str(flow / "private"),
)
env = {
k: v for k, v in os.environ.items()
if k not in {
"TARGET", "MAKE_ISSUE", "PRIVATE_DIR", "WORK_HOME",
"FLOW_VARIANT", "DESIGN_CONFIG", "DESIGN_NAME",
"PLATFORM", "SAVE_TO_DB", "RUN_CALIBRE", "CHECK_DRC_DB"
}
}
env.update({
"TARGET": target,
"MAKE_ISSUE": "1",
"PRIVATE_DIR": str(flow / "private"),
})

@openroad-ci

openroad-ci commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

🔍 QoR check

Metrics reflect the PR merge build — i.e. what will land on the target branch.

Commit 43f5d8a · Jenkins build #2 · Baseline: build · View build on dashboard

62 design(s) checked — 0 with regression(s), 0 without a comparable baseline.

@vvbandeira
vvbandeira marked this pull request as ready for review October 15, 2026 21:51
@vvbandeira
vvbandeira merged commit 6880de8 into The-OpenROAD-Project:master Oct 15, 2026
13 checks passed
@vvbandeira
vvbandeira deleted the dashboard-qor-target branch October 15, 2026 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants