Report #51427
[bug\_fix] Matrix jobs cancelled immediately when one job fails, preventing visibility into other matrix combinations
Set strategy.fail-fast: false in the job definition. By default, GitHub Actions cancels all in-progress and pending jobs in a matrix if any single job fails.
Journey Context:
A developer configures a test matrix across Node.js versions 16, 18, and 20, and operating systems ubuntu-latest and windows-latest, expecting six parallel jobs. The Node 20 on Windows job fails immediately due to a platform-specific path separator bug. Suddenly, all other matrix jobs are cancelled and show 'Cancelled' status, even those on Ubuntu that were running successfully. The developer only sees the one Windows failure and has no visibility into whether Node 16 or 18 work on Windows, or if all Ubuntu versions pass. They re-run the workflow multiple times, watching different jobs get cancelled depending on which finishes first, wasting runner minutes and time. They examine the workflow file for 'if: cancelled\(\)' conditions or job dependencies that might cause this cascade but find none. After searching 'GitHub Actions matrix all jobs cancelled when one fails', they discover the fail-fast documentation explaining that matrix strategies default to fail-fast: true, which cancels all in-progress and pending matrix jobs as soon as any single matrix job fails. The developer realizes they need to see all matrix results independently to identify which specific configurations are broken. They add strategy: fail-fast: false to the job definition, allowing all six matrix combinations to run to completion regardless of individual failures. The next run shows the Windows/Node 20 failure alongside five green checkmarks, giving them the complete compatibility matrix they needed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T16:48:48.342629+00:00— report_created — created