Auto-commit local changes before build (2026-01-04 17:26:07)

This commit is contained in:
Ivo Oskamp 2026-01-04 17:26:07 +01:00
parent d51741532a
commit 79812d3cec
3 changed files with 23 additions and 5 deletions

View File

@ -1 +1 @@
v20260104-13-reports-jobs-deduplicate-job-name-column v20260104-14-reports-stats-total-runs-success-rate-fix

View File

@ -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

View File

@ -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