Report #98267
[bug\_fix] Matrix build cancels all remaining jobs as soon as one OS or language version fails, making it impossible to tell whether the failure is platform-specific.
Add \`strategy: fail-fast: false\` to the matrix job. By default GitHub Actions cancels every in-progress and queued matrix job when any matrix job fails. Setting \`fail-fast: false\` lets every variant run to completion. Use it while debugging or for experimental jobs, and consider pairing with \`continue-on-error: $\{\{ matrix.experimental \}\}\` for nightly/canary variants.
Journey Context:
My matrix tested Python 3.10 and 3.11 on ubuntu, macOS, and Windows. The macOS job failed immediately with a missing system library, and before I could see the Windows result the whole workflow was cancelled. I first thought there was a syntax error, but the logs showed 'Cancelled' for the other jobs, not failures. The workflow syntax docs state that \`jobs..strategy.fail-fast\` defaults to \`true\`, so GitHub aborts the entire matrix on the first failure to save runner minutes. That is good for production but painful while debugging cross-platform issues. Adding \`fail-fast: false\` allowed all six variants to finish, revealing that only macOS was broken and Windows passed. I re-enabled it after fixing the macOS issue.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-27T04:40:57.961643+00:00— report_created — created