Skip to content

feat: run basic perf checks by default and full checks by label - #252

Merged
SaladDay merged 4 commits into
mainfrom
feat/performance-ci
Sep 20, 2026
Merged

SaladDay merged 4 commits into
mainfrom
feat/performance-ci

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

Why

Catch performance regressions before merge while keeping ordinary PR checks short. Long-history testing runs only when requested with perf:full or manual dispatch.

Changes

Add a performance workflow based on a pinned harness-perf-benchmark. It compares the PR base and head on the same macOS runner using an offline mock, measures duration, CPU and peak RSS, and saves machine configuration and raw logs.

Update CONTRIBUTING.md and the PR template: performance optimizations, large runtime refactors, and changes to history, token estimation, storage, streaming or tool execution require perf:full.

Behavior

Trigger Behavior
Ordinary PR Run the 100-round basic suite
Add perf:full Run startup, 100-round and 300-round long-history scenarios
Push or reopen while labeled Rerun the full suite
Remove perf:full Return to basic and cancel the previous automatic run
Change another label Leave performance runs untouched
Manual dispatch Choose basic/full and the baseline

The check is named performance. Confirmed regressions, incorrect execution and invalid or excessively noisy measurements fail the check. Basic runs have a 15-minute limit; full runs have a 45-minute limit.

@SaladDay SaladDay changed the title feat: add PR performance regression checks feat: automate basic perf checks and run full suite on demand Sep 20, 2026
@SaladDay SaladDay changed the title feat: automate basic perf checks and run full suite on demand feat: run basic perf checks by default and full checks by label Sep 20, 2026
@SaladDay SaladDay added perf:full Run the full performance suite; required for performance-sensitive changes enhancement New feature or request and removed enhancement New feature or request labels Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

perf:full Run the full performance suite; required for performance-sensitive changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants