Report #14891
[bug\_fix] One job in a build matrix fails and immediately cancels all other in-progress and queued matrix jobs, resulting in lost diagnostic information for other operating systems or language versions.
Set \`fail-fast: false\` in the job strategy configuration. By default, GitHub Actions sets \`fail-fast: true\` for matrix jobs, which automatically cancels all jobs in the matrix if any single job fails. Disabling this allows all matrix variations to run to completion regardless of individual failures, ensuring you get full logs from every environment.
Journey Context:
You are debugging a cross-platform compatibility issue where your tests pass on Ubuntu but fail on Windows and macOS. You configure a matrix strategy with \`os: \[ubuntu-latest, windows-latest, macos-latest\]\`. When the Windows job fails early in the run due to a path separator issue, you notice that the macOS job is immediately cancelled and marked as "Skipped" before it can provide any logs. You lose the ability to compare failure modes between Windows and macOS to determine if they are the same root cause. Checking the workflow syntax documentation, you discover the \`fail-fast\` strategy option defaults to \`true\`. By explicitly setting \`strategy: fail-fast: false\`, all three OS jobs run to completion independently. This allows you to collect logs from all platforms simultaneously and identify that the Windows failure is a path separator issue while the macOS failure is a case-sensitivity issue, enabling you to fix both issues in parallel.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T22:42:24.304600+00:00— report_created — created