Commit a13c8d4
committed
refactor: simplify performance workflow to reliable baseline
WHAT WORKS:
- Run benchmark twice: once for human-readable output, once for JSON
- Save JSON as artifact for maintainer review
- No fragile shell comparison of unknown JSON structure
WHY SIMPLER IS BETTER:
- PHPBench 1.6 JSON structure unknown, avoid assunptions
- jq availability not guaranteed in runner
- Shell floating-point comparison is unreliable
PERFORMANCE BASELINE WORKFLOW:
1. PR runs: benchmark runs, output logged, JSON saved as artifact
2. Maintainer reviews artifact during PR review
3. After merge to main:
- Run: composer benchmark:run --env=ci --output=json:build/benchmark-results.json
- Update: cp build/benchmark-results.json .github/.performance/baseline.json
- Commit with DCO sign-off
4. Next PR baseline comparison now has reference
This is honest: automatic regression detection needs either:
- Well-documented JSON structure
- Or manual baseline management
We choose manual (reproducible, auditable)
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>1 parent 04119b0 commit a13c8d4
1 file changed
Lines changed: 3 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
| 34 | + | |
| 35 | + | |
50 | 36 | | |
51 | 37 | | |
52 | 38 | | |
| |||
0 commit comments