next.js
4cd3ca26 - perf: improve stats action reliability and reduce CI noise (#87945)

Commit
58 days ago
perf: improve stats action reliability and reduce CI noise (#87945) ## Summary Comprehensive improvements to the PR stats action for more reliable benchmarks and reduced CI noise. ### Vercel KV Integration - Add `@vercel/kv` for historical data persistence - Track metrics over time with `loadHistory()` / `saveToHistory()` - Display trend sparklines in comments when history is available ### Comment Generation Refactor - New `METRIC_LABELS` and `METRIC_GROUPS` configuration system - Organized metrics by category (Dev Server, Production Builds, Production Runtime) - Better formatting utilities (`prettifyTime`, `formatChange`, `generateTrendBar`) - Bundle group totals for KV persistence ### Noise Reduction - Significance thresholds: `50ms AND 10%` for time, `1KB AND 1%` for size - Additional `<2%` filter for long-running operations (builds) - Filters typical CI variance while catching real regressions ### Stats Config Updates - Add `measureDevBoot: true` to enable dev boot benchmarks - Fix `appDevCommand` to include `dev` subcommand - Add `--webpack` flag to `appBuildCommand` - Rename "Client Bundles (main, webpack)" to "Client Bundles (main)" - Add `turbopack: {}` to test configs ### GitHub Actions Updates - New `action.yml` with bundler input parameter - Workflow improvements in `pull_request_stats.yml` ### New Files - `scripts/test-stats-benchmark.sh` - Local testing script - `.github/actions/next-stats-action/src/util/stats.js` - Shared stats utilities - `.github/actions/next-stats-action/test-local.js` - Local comment testing ## Test Plan ```bash cd .github/actions/next-stats-action node test-local.js # Basic test node test-local.js --with-history # Test with trend sparklines ```
Author
Parents
Loading