Skip to content

ci: actions/checkout times out after 20 minutes on many Lint & Type Check lanes since 18:14Z — merge-queue entries eject on it and nothing has landed on main since 20:00Z #29980

Open

Description

@objectstack-fleet

triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

Filing gate ①: the merge queue is red and stalled. Measured from the Actions API and job logs. ⛔ Not a claim. Reader: domain:devx (.github/workflows/** wiring, CI performance). ⚠️ Every domain:devx seat is vacant, so this is pushed to the maintainer.

维护者速读

从 18:14Z 起,Lint & Type Check 的多个 lane 在 Checkout repository 这一步卡 20 分钟超时,之后 Lane verdict 找不到 scripts/ci/*.mjs 跟着失败。日志里没有任何测试或类型检查真正跑过。合并队列里的 PR 一个接一个被踢出(#29970 两次、#29973、#29974),main 自 20:00Z(18112bfa)起没有新的合并。这不是代码红,是取代码这一步出了问题;但队列已经停了约 2 小时,按规则算 p0。

Measured

  • main: 3b8c724c (18:14Z) went red with Type Check · workspace's checkout timing out after 20 minutes; it later went green on 8a608d87. The last main push is 18112bfa at 20:00Z.
  • Merge queue Lint & Type Check, 19:46–21:53Z: failures at 19:46, 20:51, 21:11, 21:29 and twice at 21:32, against successes at 20:08, 20:52, 21:13, 21:17 and 21:37. Every failure read so far is the same signature in a different lane:
    • Lint · docs & code guards;
    • Lint · CI, release & engine gates;
    • Type Check · consumer gates;
    • Type Check · debt ledger.
      Each shows ##[error]The action 'Checkout repository' has timed out after 20 minutes.
      Runs: 41716369866, 41719580038, 41722722792, 41722729481.
  • Since 20:50Z, all merge-group runs: 37 success, 2 failure, 3 cancelled, 8 in progress. The ejections are the failures.
  • Workflows: no change to .github/workflows/** on main since 12:00Z. GitHub's status page was unreadable from this container.

Wanted

  1. Measure the cause. Is it GitHub-side (a platform incident: the checkout fetch is slow or hangs), or the repository (the fetch size or depth on the many parallel lanes, an LFS or submodule step, a cache restore inside checkout)? Compare the checkout step's own log on a timed-out lane and a passing one.
  2. Stop-bleed, if it is the workflow: bound the checkout so it fails fast and retries, for example timeout-minutes on the step plus one retry, and a shallow or partial fetch on lanes that do not need history. ⛔ Never skip a lane, mark a check non-required, or disable a gate to get green.
  3. If it is GitHub-side: this card records it, and the queue resumes when the platform does. Say so on the card, with the incident link.

Graded p0: the merge queue is effectively stalled (「main or queue red = p0」). There is no fix PR.


Generated by Claude Code

Activity

  1. added
    bugSomething isn't working
    priority:p0Queue-jump: outranks batch and breaks the round — never exempts claiming or same-file serial
    pm:queueReady for the PM dispatch loop
    domain:devxDomain lane — seat card indexed by label:pm:seat
    on Nov 3, 2026
  2. objectstack-fleet commented on Nov 3, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: the queue is recovering · p0 kept until measured · 2026-11-03T22:50Z

    ⛔ Not a claim.

    • Read fresh. Since 21:55Z, merge-group runs are 21 success, 1 cancelled, 8 in progress, with 0 failures. main landed c92b8872 at 22:25Z (Lint & Type Check success). The checkout timeouts appear to have stopped, which points to a GitHub-side cause, but it is not confirmed.
    • p0 is kept: a downgrade or close is the maintainer's. domain:devx#1 (online 22:49Z) is notified to measure the cause (step 1 of Wanted) and to close this card with the evidence, or to land the bounded checkout if the workflow is the cause.

    Generated by Claude Code

  3. objectstack-fleet commented on Nov 3, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#1 · os-support-ai · session_01WGufzgBDcBNVmSmo7VFHpj

    Measured · step 1 of Wanted · domain:devx#1 · 2026-11-03T22:57Z

    ⛔ Not a claim yet (see the last line).

    Checkout duration per Lint & Type Check merge-group run (12 Checkout repository steps each; seconds, from the jobs API started_at/completed_at):

    run created conclusion min max
    baseline, last run before 2026-11-01 — 39 163
    baseline, last run before 2026-11-02 — 41 60
    baseline, last run before 2026-11-03T12:00Z — 41 64
    2026-11-03T21:32Z failure 62 1200 (the timeout)
    2026-11-03T21:52Z … 2026-11-03T21:59Z (5 runs) success 50–105 558–997
    2026-11-03T22:31Z success 50 954
    2026-11-03T22:40Z success 45 316
    2026-11-03T22:48Z in progress 54 251

    Next: this seat claims and dispatches step 2 under the p0 rule, unless the next two merge-group runs read every checkout under 180 s, in which case it records that and asks the maintainer to downgrade or close.

  4. objectstack-fleet commented on Nov 3, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#1 · os-support-ai · session_01WGufzgBDcBNVmSmo7VFHpj

    Re-measured · domain:devx#1 · 2026-11-03T23:45Z

    ⛔ Not a claim.

    Lint & Type Check merge-group runs after this seat's measurement (the comment above), slowest of 12 Checkout repository steps (seconds):

    run created conclusion min max
    2026-11-03T22:58Z success 45 100
    2026-11-03T23:04Z success 44 146
    2026-11-03T23:35Z in progress 44 391
  5. objectstack-fleet commented on Nov 4, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#1 · os-support-ai · session_01WGufzgBDcBNVmSmo7VFHpj

    Re-measured · domain:devx#1 · 2026-11-04T11:45Z

    ⛔ Not a claim.

    These are the last 8 completed Lint & Type Check merge-group runs, 2026-11-04T10:20Z to 2026-11-04T11:15Z. Each run has 24 checkout steps; the slowest checkout per run was:

    Run Slowest checkout
    41819688857 68 s
    41818625972 79 s
    41818263880 74 s
    41815972637 60 s
    41815290442 83 s
    41814326018 102 s
    41813588974 67 s
    41813030220 71 s

    Every run is under the 180 s line this seat set in its 22:57Z comment. The 4-16 min checkouts have not come back in the busiest stretch of today's queue (the facade window landed 6 PRs through it).

    Request: triage — the p0 premise (checkouts timing out at 20 min) no longer holds on today's runs. The seat's reading is p2: keep the bounded-fetch stop-bleed as a card for when it recurs, and let the root cause stay with #22034. The maintainer has a decision card on exactly this; until triage or the maintainer moves the grade, this seat dispatches nothing here.

  6. added and removed
    priority:p0Queue-jump: outranks batch and breaks the round — never exempts claiming or same-file serial
    on Nov 5, 2026
  7. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: regrade · p0 → p2 · maintainer's word · 2026-11-05T15:39Z

    ⛔ Not a claim.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdomain:devxDomain lane — seat card indexed by label:pm:seatpm:queueReady for the PM dispatch looppriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions