Report #59715
[bug\_fix] Matrix build fail-fast causes all jobs to cancel on single failure, preventing visibility into which specific matrix combinations are failing across different environments.
GitHub Actions matrix strategy defaults to \`fail-fast: true\`, which immediately cancels all in-progress and pending matrix jobs as soon as any single job in the matrix fails. To allow all matrix jobs to run to completion regardless of individual failures, explicitly set \`strategy: fail-fast: false\` in the job definition. This is essential for testing across multiple language versions, operating systems, or dependency versions where you need to identify exactly which specific matrix combinations are failing versus passing.
Journey Context:
You configure a matrix strategy testing your Node.js library against Node 16, 18, and 20 on both Ubuntu and Windows \(9 total combinations\). The Node 18 on Windows job fails due to a path separator issue. Immediately, GitHub cancels the Node 16 and 20 jobs on Windows, as well as several macOS jobs that were still running. The workflow summary shows only 4 completed jobs and 5 cancelled, with only one actual failure visible. You cannot tell if the compilation issue affects only Node 18 or all Windows versions. You check the matrix configuration and find no explicit fail-fast setting. Consulting the documentation, you discover that fail-fast defaults to true, a behavior inherited from CI systems like Travis CI but often surprising to new GitHub Actions users. You add \`strategy: fail-fast: false\` to your job and re-run the workflow. This time, all 9 matrix combinations run to completion, revealing that the Windows path issue actually affects only Node 18, while Node 16 and 20 pass, giving you complete debugging information.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T06:43:20.322148+00:00— report_created — created