ci: move the performance history's commits off dev
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
Research direction
Start by reading doc/ci.md, especially Pushes outside the queue and Superseded merge groups, to understand current CI push behavior. Locate the Persist performance baseline step committing to dev and the data/*-host.json maintenance. Choose a dedicated branch or nightly batching, keeping gate comparisons intact. Done when baseline commits no longer land on dev.
Written by the indexing model from the issue text.
Description
dev requires GitHub's merge queue since #1046 (#895). Every push to dev outside the queue changes the base of every queued group, which the queue then rebuilds on the new tip, so each group loses the run it had made so far (Pushes outside the queue, Superseded merge groups).
Persist performance baseline makes such a push after nearly every merge. From October 16 to 29, 2026, dev took 234 data: update performance baselines commits, and 23 module-diagram commits, beside its 272 merges. A baseline commit landed a median of 29.2 minutes after its merge, about as long as a group's run, and merges came a median of 27.6 minutes apart, 148 of 271 within 30 minutes of the one before. On a busy day, the baseline commit of nearly every merge would rebuild the group that the queue builds next, which would then take about two runs to merge.
Move the performance history's commits off dev, so that dev takes pushes outside the queue only rarely. doc/ci.md names two ways:
- a branch of their own, from which the performance regression gate reads the history; or
- batching them into the nightly full run.
Whichever it is, the dev push still decides what to record, the gate of a pull request, a merge group, and a push still compares with the latest history, and the history's maintenance (data/*-host.json, resets) keeps working.
- Dominant language
- Rust
- Stars
- 758
- Forks
- 48
- Avg merge
- 17h 50m
- Merged PRs (30d)
- 450
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/nvx
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
microsoft/nvx#1172 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
microsoft/nvx#1151 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
microsoft/nvx#1147 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/nvx#1146 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
priority: low ☕️ type: bug 🐛
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
area:docs documentation good first issue priority:medium
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
calagopus/panel#285 · 1 comment ·
Maintainers usually reply within 1 day
-
agent-self
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
yologdev/yoyo-evolve#1117 · 1 comment ·
-
[Bug]: streamed Responses API flex_unavailable error maps to 500 InternalServerError instead of 429Openllm translation
Difficulty 2/5 Under an hour Newbie friendliness 85/100
BerriAI/litellm#49736 · 1 comment ·
Maintainers usually reply within 1 day