Skip to content

ci: run the full tier on main pushes and a nightly schedule - #806

Merged
zackees merged 1 commit into
mainfrom
ci/push-validates
Nov 2, 2026
Merged

zackees merged 1 commit into
mainfrom
ci/push-validates

Conversation

@zackees

@zackees zackees commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Defect

On origin/main (c6b52e7) a push to main validated nothing. ci.yml had ten github.event_name != 'push' conjuncts, so every validation lane was skipped on push: Rust workspace (locked tests), the no-macos-runners lint, Linux (lint + unit + docker), native wheel, Darwin wheel, Desktop widget, Hosted macOS wheel smoke and Full CI coverage.

Evidence: push run 41363207772 (head c6b52e7). Select CI tier printed Bosn CI tier: minimal; widget lane: False and every one of those jobs ended skipped. Only verify, ci-pre, the cache writers and CI summary ran. Push runs 41346722061 and 41345517950 look the same. So the queue's cheap linux tier was the only proof that anything worked, and the expensive lanes ran only when someone dispatched tier=full by hand.

Fix

  • ci/select_ci_tier.py returns full for push and schedule. Plain PRs stay minimal (unless labelled), and the merge queue stays minimal.
  • The push conjuncts are removed from every validation job and from CI summary, so the required check reports on push as well.
  • Adds a nightly schedule: trigger, cron: "17 7 * * *". It runs off the hour to dodge the top-of-hour runner rush.
  • The push-only cache writers stay the only remote savers of their keys. PR runs never save, and saves from the queue are unreadable.
  • tests/test_ci_tiers.py is updated to assert the new behaviour. No test was deleted; the push-skip assertions are inverted. AGENTS.md and docs/ci-queue-slo.md are updated to match.

The required-check ruleset is unchanged (CI summary stays the only required check), so there is no window with zero required checks.

Local gate passed (rust + tests lanes, attested on the head commit).

🤖 Generated with Claude Code

A main push validated nothing: ten 'github.event_name != push' conjuncts
skipped every validation lane, so the expensive lanes ran only on a hand
tier=full dispatch. Push and schedule now select tier=full; PRs and the
merge queue stay minimal; the push-only cache writers stay the single
remote savers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Local-Gate: v1 tree=2300c9e552f2ff3baa3612176d5c9163731610f7 secs=218 lanes=rust:run,tests:run
Ci-Attestation: {"at":1793588007,"gate":"rust/all/fmt","host":"linux-x86_64","key":"27200dea99ac0dc41420df070c8c7461517c8f008edbdbdd1e574a7c21486fac","lane":"rust","parents":["c6b52e7bb810263826b058402cbcbb2f51c5aecd"],"secs":199,"stamp":"90d6c5477778120ffbbd3727107e2738","tree":"2300c9e552f2ff3baa3612176d5c9163731610f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793588007,"gate":"rust/all/boundary","host":"linux-x86_64","key":"27200dea99ac0dc41420df070c8c7461517c8f008edbdbdd1e574a7c21486fac","lane":"rust","parents":["c6b52e7bb810263826b058402cbcbb2f51c5aecd"],"secs":199,"stamp":"41dbc47e9400e70a872f7eda035a22b8","tree":"2300c9e552f2ff3baa3612176d5c9163731610f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793588007,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"27200dea99ac0dc41420df070c8c7461517c8f008edbdbdd1e574a7c21486fac","lane":"rust","parents":["c6b52e7bb810263826b058402cbcbb2f51c5aecd"],"secs":199,"stamp":"9d7f4e81242cb0fd3c260a127e5e6fb6","tree":"2300c9e552f2ff3baa3612176d5c9163731610f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793588007,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"27200dea99ac0dc41420df070c8c7461517c8f008edbdbdd1e574a7c21486fac","lane":"rust","parents":["c6b52e7bb810263826b058402cbcbb2f51c5aecd"],"secs":199,"stamp":"fa8f3e296de391d13658e385420a5b84","tree":"2300c9e552f2ff3baa3612176d5c9163731610f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793588007,"gate":"python/all/static","host":"linux-x86_64","key":"2d0acb3ecafb5e5cc0252201a513621e0974df292134df8700b6d04e4ef00ab4","lane":"tests","parents":["c6b52e7bb810263826b058402cbcbb2f51c5aecd"],"secs":217,"stamp":"2d19b14514875a06779f46d992158f3e","tree":"2300c9e552f2ff3baa3612176d5c9163731610f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793588007,"gate":"general/all/ci-policy","host":"linux-x86_64","key":"2d0acb3ecafb5e5cc0252201a513621e0974df292134df8700b6d04e4ef00ab4","lane":"tests","parents":["c6b52e7bb810263826b058402cbcbb2f51c5aecd"],"secs":217,"stamp":"d70675124ca1b08fbf635b1cb01648e6","tree":"2300c9e552f2ff3baa3612176d5c9163731610f7","v":1,"via":"run"}
Ci-Attestation: {"at":1793588007,"gate":"python/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"2d0acb3ecafb5e5cc0252201a513621e0974df292134df8700b6d04e4ef00ab4","lane":"tests","parents":["c6b52e7bb810263826b058402cbcbb2f51c5aecd"],"secs":217,"stamp":"a4c3fb26b4af4fd18e27796a677a0d43","tree":"2300c9e552f2ff3baa3612176d5c9163731610f7","v":1,"via":"run"}
@zackees
zackees enabled auto-merge November 2, 2026 02:53
@zackees
zackees added this pull request to the merge queue Nov 2, 2026
Merged via the queue into main with commit 1bde60f Nov 2, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant