Auto-commit local changes before build (2026-01-04 17:26:07)
This commit is contained in:
parent
d51741532a
commit
79812d3cec
@ -1 +1 @@
|
|||||||
v20260104-13-reports-jobs-deduplicate-job-name-column
|
v20260104-14-reports-stats-total-runs-success-rate-fix
|
||||||
|
|||||||
@ -812,8 +812,12 @@ def _get_success_rate_keys_from_report(report: ReportDefinition, view_key: str =
|
|||||||
cols = (rc.get("columns") or {}) if isinstance(rc, dict) else {}
|
cols = (rc.get("columns") or {}) if isinstance(rc, dict) else {}
|
||||||
view_cols = cols.get(view_key) if isinstance(cols, dict) else None
|
view_cols = cols.get(view_key) if isinstance(cols, dict) else None
|
||||||
|
|
||||||
|
# "Configured" means the user explicitly saved a column list for this view.
|
||||||
|
# This includes the case where they saved an empty list (all columns off).
|
||||||
|
configured = isinstance(view_cols, list)
|
||||||
|
|
||||||
selected = set()
|
selected = set()
|
||||||
if isinstance(view_cols, list):
|
if configured:
|
||||||
for k in view_cols:
|
for k in view_cols:
|
||||||
if not isinstance(k, str):
|
if not isinstance(k, str):
|
||||||
continue
|
continue
|
||||||
@ -828,10 +832,15 @@ def _get_success_rate_keys_from_report(report: ReportDefinition, view_key: str =
|
|||||||
# Always include success_count in the denominator to prevent odd rates.
|
# Always include success_count in the denominator to prevent odd rates.
|
||||||
out.add("success_count")
|
out.add("success_count")
|
||||||
|
|
||||||
# If nothing was selected (or config missing), fall back to all status keys.
|
# If the user explicitly configured an empty column list for this view,
|
||||||
if len(out) == 1 and "success_count" in out and not selected:
|
# default the denominator to the most common "signal" statuses so totals and
|
||||||
|
# rates remain meaningful (exclude missed unless explicitly selected).
|
||||||
|
if configured and not selected:
|
||||||
|
out = {"success_count", "failed_count"}
|
||||||
|
|
||||||
|
# If config is missing for this view, fall back to all status keys.
|
||||||
|
if not configured and not selected:
|
||||||
out = set(status_keys)
|
out = set(status_keys)
|
||||||
out.add("success_count")
|
|
||||||
|
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
|||||||
@ -298,6 +298,15 @@
|
|||||||
- Added migration logic to automatically clean up existing report configurations containing duplicate job name columns.
|
- Added migration logic to automatically clean up existing report configurations containing duplicate job name columns.
|
||||||
- Ensured report rendering strictly follows the selected columns; when no columns are selected, no table data is shown.
|
- Ensured report rendering strictly follows the selected columns; when no columns are selected, no table data is shown.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v20260104-14-reports-stats-total-runs-success-rate-fix
|
||||||
|
|
||||||
|
- Fixed incorrect Total runs calculation by only counting selected run statuses.
|
||||||
|
- Corrected Success rate calculation to be based on Success / (Success + Failed).
|
||||||
|
- Prevented non-selected statuses (such as Missed) from affecting totals and percentages.
|
||||||
|
- Ensured consistency between displayed counts and calculated percentages in reports.
|
||||||
|
|
||||||
================================================================================================================================================
|
================================================================================================================================================
|
||||||
|
|
||||||
## v0.1.15
|
## v0.1.15
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user