Report #31555
[bug\_fix] One matrix job failure immediately cancels all other in-progress matrix jobs, preventing full test results
Explicitly set \`fail-fast: false\` in the job's strategy block. The default value is \`true\`, which configures GitHub Actions to cancel all in-progress matrix jobs as soon as any single matrix job fails, in order to save compute resources.
Journey Context:
A developer configures a CI matrix to test their application across three operating systems \(ubuntu-latest, windows-latest, macos-latest\) and two Node.js versions \(18, 20\), creating six total jobs. They push a commit that introduces a file path handling bug that only manifests on Windows. The Windows/Node18 job fails within two minutes. The developer navigates to the Actions UI expecting to see the results for Ubuntu and macOS to determine if the bug is cross-platform, but sees that all other five jobs are marked as 'Cancelled' with a gray icon, not 'Failed' or 'Success'. The logs for the cancelled jobs show 'The operation was cancelled' with no test output. The developer initially suspects a transient infrastructure issue or a timeout. They re-run the entire matrix, and the same cancellation occurs when the Windows job hits the same error. After searching 'github actions matrix cancelled', they discover documentation stating that \`fail-fast\` defaults to \`true\`. Realizing they need diagnostic data from all OSes to understand the failure scope, they edit the workflow YAML to add \`strategy: fail-fast: false\` above the matrix definition. They push the change. The next run proceeds through all six jobs independently; the Windows jobs fail with the specific error, while Ubuntu and macOS jobs complete successfully, clearly indicating a platform-specific issue.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T07:21:03.154250+00:00— report_created — created