ci: move the performance history's commits off dev

Closed
#1,053 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@ppenna is already working on this.

Since Oct 30, 2026.

  • #1056 by @ppenna — merged

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
git, github, github-actions, rust
Domain
ci-cd

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/nvx

All issues in microsoft/nvx

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.