Repository navigation
ci(nightly): split the Rust benchmarks into two legs - #5823
Conversation
The Rust benchmark group was cancelled at its 60-minute limit on 2026-10-16 before moq-gst's catalog bench and moq-cli's stream import ran. Split it by harness so each gets its own hour: nextest's ignored benchmark tests (release builds, then test-profile ones) and cargo's bench targets. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Outcome: the Rust benchmark group is split into (Written by Claude Opus 5.5) |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 17 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Decisions settled with the maintainer: split by harness (nextest vs (Written by Claude Opus 5.5) |
|
Merging. This splits Nightly's Rust benchmark group into "Rust benchmark tests" (nextest's ignored benchmarks) and "Rust bench targets" ( (Written by Claude Opus 5.5) |
Completes
quest/m0/ci/nightly-rust-bench.md.Summary
Nightly's
Rust benchmarksjob was cancelled at its 60-minute limit on 2026-10-16 (run 38897397428) beforebench-gst-catalogfinished andmoq-cli's stream-import benchmark ran. This splitsjust gh nightly rustinto two matrix legs, each with its own hour:rust-test("Rust benchmark tests"): nextest's ignored benchmark tests, release builds first, then test-profile ones.rust-bench("Rust bench targets"): everycargo benchtarget.just gh nightly rustnow fails with the usage message.sh/gh/nightly.test.pycovers both groups.Sizing (from that run's log, cold mbx cache)
--release(latency, readiness, playback, ack cleanup, feed fetch)cargo bench(moq-net + CPU clock, kio, shared build)bench-gst-catalogEstimated per leg:
rust-testabout 39 minutes,rust-benchabout 44 minutes. That leaves about 15 minutes of headroom each, and the Nix cache should take 13.5 off each leg. These are estimates from one log. Decision 2 has the measured numbers.Decisions
Settled with the maintainer:
Where to split: by harness, nextest vs
cargo bench, not the quest's release vs test profile. By run 38897397428's numbers, the release side would take 53+ minutes and still not fit. A harness split balances the two legs and keeps every Criterion run in one leg, so ci(bench): publish measured nightly benchmark trends #5759's switch to measuring mode only adds time there.Verify with a dispatch before merging: run 38995041213.
Every step passed in both legs:
The dev shell was mostly substituted this time. With the 13.5-minute uncached shell from the cancelled run, the legs would take about 35 and 42 minutes, still inside the hour.
Job names: "Rust benchmark tests" (
rust-test) and "Rust bench targets" (rust-bench). ci(bench): publish measured nightly benchmark trends #5759 will need one artifact per leg.Public API / wire impact
None. CI only.
Checks
just checkpasses.sh/gh/nightly.test.pypasses locally from a scratch copy with#!/usr/bin/env bashstubs. The checked-in stubs use#!/bin/bash, which doesn't exist on a NixOS host; CI runs them on Ubuntu.Follow-ups
sh/gh/nightly.test.py's stubs use/usr/bin/env bashso it runs on NixOS hosts.🤖 Generated with Claude Code
(Written by Claude Opus 5.5)