Skip to content

ci: add benchmark regression check for PRs#119

Merged
aldoborrero merged 2 commits intomainfrom
regression-ci-tests
Apr 14, 2026
Merged

ci: add benchmark regression check for PRs#119
aldoborrero merged 2 commits intomainfrom
regression-ci-tests

Conversation

@brianmcgee
Copy link
Copy Markdown
Member

Run bench-incremental on both the base branch and the PR head within the same CI runner so wall-clock comparisons are fair. A Python comparison script flags two classes of regression:

  1. Derivation-count increase (deterministic, any delta is a failure).
  2. Wall-clock time increase above a configurable threshold (default 20%).

Results are posted as a PR comment and the check hard-fails on regression.

Also wires ruff-check and ruff-format into treefmt so Python files are linted as part of nix fmt.

@brianmcgee brianmcgee marked this pull request as draft April 13, 2026 13:43
@brianmcgee brianmcgee force-pushed the regression-ci-tests branch 2 times, most recently from 0aa32c8 to 1eae325 Compare April 13, 2026 15:54
@numtide numtide deleted a comment from github-actions Bot Apr 13, 2026
@brianmcgee brianmcgee force-pushed the regression-ci-tests branch from 1eae325 to 2eba649 Compare April 13, 2026 16:01
Run bench-incremental on both the base branch and the PR head within
the same CI runner so wall-clock comparisons are fair.  A Python
comparison script flags two classes of regression:

  1. Derivation-count increase (deterministic, any delta is a failure).
  2. Wall-clock time increase above a configurable threshold (default 20%).

Results are posted as a PR comment and the check hard-fails on
regression.

Also wires ruff-check and ruff-format into treefmt so Python files are
linted as part of `nix fmt`.
Add --stderr-tail flag (default 500) to control how many bytes of
stderr are kept in error messages.  CI passes 4000 so local store
build failures produce actionable diagnostics instead of truncated
cascading-dependency messages.
@brianmcgee brianmcgee force-pushed the regression-ci-tests branch from 2eba649 to 2e3ef89 Compare April 13, 2026 16:06
@github-actions
Copy link
Copy Markdown

Benchmark Regression Check

Scenario Tool Base (s) Current (s) Change Drvs (base) Drvs (curr) Status
no_change nix-ca-nocgo 0.67 0.68 +1.2% 0 0 ok
no_change nix-nocgo 0.67 0.68 +1.6% 0 0 ok
leaf-private nix-ca-nocgo 1.87 2.15 +14.9% 2 2 ok
leaf-private nix-nocgo 1.45 1.45 +0.2% 2 2 ok
mid-private nix-ca-nocgo 2.01 1.99 -0.9% 2 2 ok
mid-private nix-nocgo 1.50 1.58 +5.3% 4 4 ok
deep-private nix-ca-nocgo 2.24 2.32 +3.6% 3 3 ok
deep-private nix-nocgo 1.73 1.83 +5.4% 8 8 ok

Baseline: main | Current: 93f6e7517ad08c6213497695b45d170bee3db113

@brianmcgee brianmcgee marked this pull request as ready for review April 13, 2026 16:18
@brianmcgee brianmcgee requested a review from aldoborrero April 13, 2026 16:18
Copy link
Copy Markdown
Member

@aldoborrero aldoborrero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@aldoborrero aldoborrero added this pull request to the merge queue Apr 14, 2026
Merged via the queue into main with commit d3f39af Apr 14, 2026
3 of 4 checks passed
@aldoborrero aldoborrero deleted the regression-ci-tests branch April 14, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants