GHA Diagnosis: lt-shadow-rust-diff.yml — 2026-04-13¶
Classification¶
- Category:
(d) config drift
Symptoms¶
- Recent failures reproduced across multiple pushes on
mainand one feature branch. - Example failed run:
24312057219 gh run view 24312057219reported:This run likely failed because of a workflow file issue.gh run view 24312057219 --json jobsreturnedjobs: []gh api repos/ryofukutani/dev-Project/check-suites/64297915971/check-runsreturnedtotal_count: 0
Observed Pattern¶
gh run list --workflow=lt-shadow-rust-diff.yml --limit 5 --json databaseId,conclusion,headBranch,startedAt,displayTitle
24312057219failure onmainat2026-04-12T17:16:10Z24312023583failure onmainat2026-04-12T17:14:21Z24312000179failure onmainat2026-04-12T17:13:07Z24311991507failure oncodex/shadow-endurance-test-20260413at2026-04-12T17:12:40Z24311965135failure onmainat2026-04-12T17:11:16Z
This pattern indicates the failure is not tied to a single content commit. The workflow definition itself is failing before any job starts.
Root Cause Analysis¶
The current default-branch bootstrap workflow is:
- File:
.github/workflows/lt-shadow-rust-diff.yml - Bootstrap job:
jobs.proxy_to_phase2 - Local line added by recent audit commit:
timeout-minutes: 15- Blame:
- line
127attributed to commit0e6e01bd2([auto] codex(gha): #27 finish timeout audit on proxy workflows)
The same bootstrap job calls a reusable workflow via:
uses: ryofukutani/dev-Project/.github/workflows/lt-shadow-rust-diff.yml@473b88dd8f61d0af50cb2533e959cf240bc4e9af
The pinned target workflow at 473b88dd8f61d0af50cb2533e959cf240bc4e9af is valid as a reusable workflow because it declares:
on.workflow_call
However, GitHub Actions documentation for reusable workflows lists the supported keywords for a job that calls a reusable workflow as:
nameuseswithsecretsstrategyneedsifconcurrencypermissions
timeout-minutes is not included in that supported-keyword set.
Source:
- GitHub Docs:
Reusing workflow configurations - URL:
https://docs.github.com/en/enterprise-cloud@latest/actions/reference/workflows-and-actions/reusing-workflow-configurations
Because the failing run has zero jobs and GitHub explicitly labels it as a workflow file issue, the most likely root cause is:
- the bootstrap caller workflow drifted out of the reusable-workflow syntax contract when
timeout-minutes: 15was added tojobs.proxy_to_phase2
Recommended Fix¶
- Remove
timeout-minutesfrom the caller job in.github/workflows/lt-shadow-rust-diff.yml - Re-push and re-trigger
lt-shadow-rust-diff.yml - If a runtime failure appears after that, treat it as a second-stage issue. The current failure is blocking before runner execution.