You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Documented near-miss from 2026-07-04: PR CI's change-scoped cargo-test (scripts/ci_test_scope.py) runs unit tests only — Running unittests src/lib.rs lines exclusively in the job log. The crates/perry/tests/*.rs integration/e2e suites are compiled (they appear in the changed-file scope listing) but never executed on the PR path. They only run on the full scope (push to main / --full).
Consequences observed today:
PR fix(hir): capture-snapshot P0 pair — resolved-name re-registration + assignment tracking #5938 landed with its own acceptance suite (capture_rereg_renamed_class.rs) failing — same_class_name_across_factories_keeps_snapshots_separate was red at the very commit that introduced it, through green required checks. (Fix in flight: the static-call/static-field lowering arms bypass class_renames.)
The intended safety net — the full run on main push — was cancelled repeatedly by the per-branch concurrency group during a rapid merge train (three squash-merges within ~20 minutes each superseding the previous run), so main went ~a workday with no completed full cargo-test.
This is a design trade (e2e suites compile binaries and take tens of minutes; scoping keeps PR latency sane), not a bug per se. Suggested cheap hardenings, any subset:
Merge-train discipline (process, zero infra): after an admin merge, let the main-push full run complete before the next merge lands — or re-dispatch it after the last merge of a batch. (I'm adopting this immediately for my own merges.)
Concurrency carve-out: give the main-branch full run cancel-in-progress: false (queue instead of cancel) so merge trains can't starve it.
Scoped e2e tier: when the changed files include crates/perry/tests/<suite>.rs, run those suites (they're the PR's own acceptance tests — the exact class of miss that happened here).
A nightly full run as a backstop (if not already present).
Refs: #5938 (the near-miss PR), the fix PR for the renamed-class static dispatch, run 28698034143 (an old-commit re-run that was the only completed "full" signal today, itself red on the known load-sensitive byob stall).
Documented near-miss from 2026-07-04: PR CI's change-scoped
cargo-test(scripts/ci_test_scope.py) runs unit tests only —Running unittests src/lib.rslines exclusively in the job log. Thecrates/perry/tests/*.rsintegration/e2e suites are compiled (they appear in the changed-file scope listing) but never executed on the PR path. They only run on the full scope (push to main /--full).Consequences observed today:
capture_rereg_renamed_class.rs) failing —same_class_name_across_factories_keeps_snapshots_separatewas red at the very commit that introduced it, through green required checks. (Fix in flight: the static-call/static-field lowering arms bypassclass_renames.)cargo-test.This is a design trade (e2e suites compile binaries and take tens of minutes; scoping keeps PR latency sane), not a bug per se. Suggested cheap hardenings, any subset:
cancel-in-progress: false(queue instead of cancel) so merge trains can't starve it.crates/perry/tests/<suite>.rs, run those suites (they're the PR's own acceptance tests — the exact class of miss that happened here).Refs: #5938 (the near-miss PR), the fix PR for the renamed-class static dispatch, run 28698034143 (an old-commit re-run that was the only completed "full" signal today, itself red on the known load-sensitive byob stall).