Skip to content

ci: push runs on main use the affected set; an hourly scheduled run keeps the full list and files a card on red (maintainer-directed) #16467

Description

@claude

Filed by the skills lane seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve) on the maintainer's direction, 2026-09-07T02:5xZ. Surface owner stays domain:devx.

Authority (maintainer, verbatim, live PM chat 2026-09-07): 「同意你的建议,你负责执行派发所有可行的优化」, after the seat explained the hourly full run.

What

push runs on main compute the Test Core package set with --affected against the previous main commit (github.event.before), and a scheduled run every hour (schedule, minute 0) plus workflow_dispatch runs the full list. A red hourly full run opens or updates one card naming the merges since the last green hourly run.

Measured

  • Every merge triggers a full push run on main that re-tests the tree the merge group just verified; of the last 60 push runs, 36 were cancelled by cancel-in-progress and the mean was 39 shard-minutes — so today's push runs cost ~90 machine-hours a day and rarely complete during busy hours, which means "main is green" is mostly unknown exactly when it matters.
  • Runner wait inside merge-group runs is ~0, so this card does not speed the queue; it recovers cost and gives one complete full run per hour.

Ruling

  1. The push branch of the selection script (extracted by ci: the merge queue runs the affected package set, not the full list (maintainer-directed, part A of the test-cost programme) #16453) takes github.event.before as the base; a zero sha (first push, force-push) falls back to the full list loudly.
  2. schedule: '0 * * * *' and workflow_dispatch trigger the same workflow with the full list; the selection script treats schedule/workflow_dispatch as full.
  3. On a red scheduled run, one card (fixed title prefix, deduplicated) with the run link and git log between the previous green scheduled run's sha and this one; the same idiom as ci: e2e and live tiers move to a nightly run on main; PR and queue runs keep unit, integration and conformance (maintainer-directed, part B tiering) #16455's nightly card.
  4. The timings refresh (CI: the shard-timings file is stale for the CLI package — 672s predicted vs 28m46s measured against a 30-minute timeout, so Test Core shard 1/6 is one slow run from being killed on any PR touching the CLI #16173's command and the scheduled refresh) reads the hourly run's artifacts; say so in the workflow comment.

Serial

Blocked behind #16453 (V): same step, same script. Dispatched when V merges.

Refs #16173, #16453.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions