feat(ci): add test-telemetry workflow (nextest JUnit + slow tests)#3765
feat(ci): add test-telemetry workflow (nextest JUnit + slow tests)#3765EffortlessSteven wants to merge 1 commit intomainfrom
Conversation
Non-blocking observability lane. Runs cargo-nextest on the same crate
set as CI Core's build-test-linux job, emits JUnit XML via the existing
.config/nextest.toml `ci` profile, and posts a slow-test summary to the
run step summary.
Why a separate workflow rather than retrofitting build-test-linux:
- Switching the merge-gate test step from `cargo test` to
`cargo nextest run` changes test discovery semantics (notably
doctests). That belongs in its own deliberate PR.
- We want JUnit-shaped per-test data and slow-test visibility on
every PR *now*, without risking the merge gate.
What you get:
- target/nextest/ci/junit.xml uploaded as `nextest-junit` artifact
(30-day retention).
- Step summary with totals (tests / failures / skipped / wall time)
and the 20 slowest tests (≥ 0.5s).
continue-on-error: true at job level — failures here do not block
merges. CI Core's build-test-linux remains the source of truth.
Out of scope:
- Switching CI Core to nextest (separate, larger PR).
- Per-test duration history aggregation across runs (PR N consumes
these artifacts).
- Doctest JUnit (cargo nextest still does not run doctests).
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Summary
Adds a non-blocking
Test Telemetryworkflow that runscargo-nexteston the CI Core crate set, emits JUnit XML via the existing.config/nextest.tomlciprofile, and posts a slow-test summary to the run step summary.This is PR M in the multi-PR CI roadmap.
Why a separate workflow
Switching the merge-gate test step (CI Core's
build-test-linux) fromcargo testtocargo nextest runchanges test discovery semantics — notably, nextest doesn't run doctests. That belongs in its own deliberate PR. PR M ships the JUnit-shaped per-test data and slow-test visibility now without risking the merge gate.What you get
target/nextest/ci/junit.xmluploaded asnextest-junitartifact (30-day retention).continue-on-error: trueat the job level — failures here do not block merges. CI Core'sbuild-test-linuxremains the merge-gate source of truth.Cost
~10–20 LEM per PR (one
cargo nextest runover the CI Core crate set). Cached separately fromci-core-ubuntuso it does not contend with the gate.Test plan
nextest-junitartifact uploads.Out of scope (future PRs)
ci-actuals.json; consumes this PR's JUnit artifact.https://claude.ai/code/session_01S2yTnEYJcA3G2CyZn9bY4v
Generated by Claude Code