Skip to content

Commit 65fca7e

Browse files
committed
feat(report): enhance GitHub summary with baseline comparison
Improve GitHub Actions workflow summary output with dedicated baseline comparison table and human-readable metric formatting. Changes: - Add baseline_meta field to Report for storing baseline run metadata - Generate comparison header showing current vs baseline commits - Add baseline comparison table with performance deltas - Format verification expressions with proper unit scaling - Support numeric literals in expressions (integers, decimals, scientific) - Add comprehensive test coverage for formatting functions The verification table now shows resolved metric values (e.g., "rps = 3.38M req/s") instead of raw numbers, making reports more readable for humans.
1 parent 90b5cbd commit 65fca7e

4 files changed

Lines changed: 436 additions & 18 deletions

File tree

fluxbench-cli/src/executor/report.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,5 +166,6 @@ pub fn build_report(
166166
synthetics: Vec::new(), // Filled by execute_verifications
167167
verifications: Vec::new(), // Filled by execute_verifications
168168
summary,
169+
baseline_meta: None,
169170
}
170171
}

fluxbench-cli/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,9 @@ fn compare_benchmarks(
601601
let total_duration_ms = start_time.elapsed().as_secs_f64() * 1000.0;
602602
let mut report = build_report(&results, &stats, &exec_config, total_duration_ms);
603603

604+
// Store baseline metadata for summary header
605+
report.baseline_meta = Some(baseline.meta.clone());
606+
604607
// Add comparison data
605608
let regression_threshold = cli.threshold.unwrap_or(config.ci.regression_threshold);
606609
let baseline_map: std::collections::HashMap<_, _> = baseline

0 commit comments

Comments
 (0)