I use a setup where a have a bunch of jobs:
Here, the tests job uses a matrix strategy.
In addition to these jobs, I have a merge job, which needs all of these jobs to pass. In this job, I attempt to merge the pull request, assuming that all builds have completed).
I have observed, though, that the merge job is started (and, consequently fails) when the first job in the job matrix of the test job has completed. At this time, however, the pull request cannot (branch protection) and should not be merged.
I am not sure whether this is supposed to be a feature, but from my point of view, this is a bug. If a job depends on a different job in the same workflow that uses a matrix strategy, then I would not expect the former job to start unless all of the jobs in the latter job matrix are completed.
What do you think?