Use GitHub metadata, local repo inspection, and local reproduction where possible.
Workflow:
- Identify the failing workflow, job, and step.
- Classify the failure as flake, infra, or real before any action. When many unrelated jobs fail at once, check https://www.githubstatus.com first.
- Before a retry, check the base with
git merge-base --is-ancestor origin/main HEAD. On a stale base, rebase instead of a retry. - Retry a suspected flake one time. A second identical failure is a defect.
- Inspect the relevant workflow files, scripts, jq filters, and code paths.
- Reproduce locally when feasible.
- Fix the smallest root cause rather than papering over symptoms.
- Re-run targeted validation and report residual risk.
If the failure is in action/ or action.yml, also use github-action-review.