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
Decision (Jon, 2026-09-22): follow what mature languages already do (Rust tiers + bors, CPython make patchcheck + unstable buildbots, Go TryBots + post-submit builders) rather than invent our own.
Why now. Main CI has not finished green since 2026-09-16 (f532c8d). The last 14 main runs are failure/cancelled; the dominant cause is one lane — macos / macos-15-intel runs on main pushes only and hits its 45-minute timeout, which GitHub reports as cancelled. 01e2b4a passed 6126/6126 and still did not go green. When red is normal on main, a real regression is invisible.
Scope.
Tiers. Tier 1 (blocks merge, decides main's color): Linux gcc/clang, ASan+UBSan core, the core suite. Tier 2 (post-merge / nightly; failures open an issue, never color main): macos-15-intel and other slow or port lanes — measure which. The nightly workflow already exists.
Contributor precheck (our make patchcheck): one command, under ~30 s, running the static gates — pipefail verdicts, suite labels, child-exit accounting, section plan — documented in CONTRIBUTING.md. PR stdlib: keep args.parse_args working under import args #1260 met these only after a 45-minute CI run.
Unenrolled-test gate. A tests/*.sh that no suite section invokes must fail. Three exist today (test_amalgamation.sh, test_args_import.sh — being enrolled in stdlib: keep args.parse_args working under import args #1260 — and test_ci_portability.sh); nothing flags them, while a style rule in the same file fails loudly.
Merge queue (Rust's green-by-construction main) deferred until PR concurrency warrants it.
Decision (Jon, 2026-09-22): follow what mature languages already do (Rust tiers + bors, CPython
make patchcheck+ unstable buildbots, Go TryBots + post-submit builders) rather than invent our own.Why now. Main CI has not finished green since 2026-09-16 (f532c8d). The last 14 main runs are failure/cancelled; the dominant cause is one lane —
macos / macos-15-intelruns on main pushes only and hits its 45-minute timeout, which GitHub reports as cancelled. 01e2b4a passed 6126/6126 and still did not go green. When red is normal on main, a real regression is invisible.Scope.
make patchcheck): one command, under ~30 s, running the static gates — pipefail verdicts, suite labels, child-exit accounting, section plan — documented in CONTRIBUTING.md. PR stdlib: keep args.parse_args working under import args #1260 met these only after a 45-minute CI run.tests/*.shthat no suite section invokes must fail. Three exist today (test_amalgamation.sh,test_args_import.sh— being enrolled in stdlib: keep args.parse_args working under import args #1260 — andtest_ci_portability.sh); nothing flags them, while a style rule in the same file fails loudly.Merge queue (Rust's green-by-construction main) deferred until PR concurrency warrants it.