Report #42224
[bug\_fix] Matrix strategy cancels all jobs when single job fails, hiding which configurations pass
Set \`fail-fast: false\` in the strategy block. By default, GitHub Actions cancels all in-progress matrix jobs as soon as any single job in the matrix fails, which prevents developers from seeing if a failure is OS-specific or version-specific.
Journey Context:
Developer configures a matrix strategy to test their application on Node.js \[16, 18, 20\] across \[ubuntu-latest, macos-latest, windows-latest\], totaling 9 jobs. During a run, the Node 20 / Windows combination fails due to a path separator bug. Suddenly, all other 8 jobs are immediately cancelled mid-execution, showing grey 'Cancelled' status. The developer cannot determine if the bug affects only Windows or all platforms, or only Node 20 or all versions. They must re-run the entire matrix multiple times, each time waiting for the Windows failure to trigger the cancellation cascade. After searching GitHub Discussions, they discover the \`fail-fast\` strategy option which defaults to \`true\`. Setting \`fail-fast: false\` allows all matrix combinations to run to completion regardless of individual failures, providing a complete picture of which OS/version combinations are broken.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T01:20:38.564839+00:00— report_created — created