Disable fail-fast
for the PHPUnit testing matrix.
#47799
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What?
This PR is proposing that the
fail-fast
option be disabled in the PHPUnit test matrix.Why?
At the surface, automatically cancelling all jobs within a matrix when any one encounters a problem seems like the right option (and sometimes it is), there are benefits to allowing each individual job to finish in this job strategy.
It's not uncommon for one or more jobs to encounter a connection issue, or something else that results in a failure. When this happens, it doesn't necessarily mean all of them will fail. GitHub Actions allows only failed jobs to be rerun within a workflow. By cancelling all of the PHP jobs when one encounters a problem, the benefit of only re-running the failures is eliminated entirely, and the time spent by any of the jobs that may have succeeded is wasted as they all will be rerun (cancelled is considered failed).
Another instance where it's valuable to know which jobs fail and which pass is when code is incompatible with a specific version of PHP. For example, code may work on PHP 7.x but trigger a fatal error on 8.x. Allowing all jobs to finish will make this scenario more clear and more discoverable, especially since contributors do not commonly test against multiple versions of PHP locally.
It looks like
fail-fast
was enabled in #46510.