A matrix builds six OS/runtime combinations. You want every combination to finish even if one fails, so you collect full results. Which strategy setting is required?
Select an answer to reveal the explanation.
Short Explanation and Infographic
strategy.fail-fast: false keeps sibling matrix legs running after one fails so you collect full results. max-parallel: 0 is useless here, and permissions never toggle fail-fast.
Full explanation below image
Full Explanation
By default, strategy.fail-fast is true: when one matrix job fails, GitHub cancels in-progress sibling matrix jobs. Setting fail-fast: false lets all combinations complete, which is valuable when you need a full compatibility report. max-parallel limits concurrency; zero is not a way to disable fail-fast. continue-on-error on a job changes how that job’s failure affects dependent jobs, but it is not the primary control for cancelling sibling matrix legs—fail-fast is. permissions scopes for GITHUB_TOKEN are unrelated to matrix cancellation. Combine fail-fast: false with max-parallel to balance thoroughness against runner capacity, and surface a single summarizing job that aggregates outcomes if you need one gate for branch protection.