Report #52495
[bug\_fix] Matrix job cancels all other matrix variants immediately when one fails
Set \`fail-fast: false\` in the job's strategy block. By default, GitHub Actions sets \`fail-fast: true\`, meaning if any matrix job fails, all in-progress and pending jobs in that matrix are immediately cancelled.
Journey Context:
Developer configures a test matrix across Node versions \[16, 18, 20\] and OS \[ubuntu, windows\]. The Windows/Node 20 job hits a flaky network timeout and fails within 2 minutes. The developer expects the Ubuntu/Node 20 job to continue running to verify if the failure is OS-specific, but the entire workflow shows 'Cancelled' and all jobs stop. Developer checks the logs, sees 'Cancelled' next to the Ubuntu jobs that were queued. They initially suspect a timeout or resource limit. After searching 'GitHub Actions cancelled matrix', they find a StackOverflow answer mentioning \`fail-fast\`. They check the workflow syntax documentation and discover that \`fail-fast\` defaults to \`true\`. They add \`strategy: fail-fast: false\` to the job, re-run the workflow, and observe that the Windows failure no longer cancels the Ubuntu jobs, allowing the full test matrix to complete and providing complete visibility into which combinations pass or fail.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:36:23.747918+00:00— report_created — created