Currently, it appears that github actions causes a commit status to be generate only for each _job_ (expanded by the matrix, etc). This makes configuring things that consume commit status non-trivial (especially with larger matrices).
Consider the case were someone wants to ensure a workflow is completely executed before permiting a merge to a branch. Currently, github will list every single job within that workflow as selectable within it’s own branch protection UI. Every addition/removal of a job now has to have a corresponding edit to the branch protection. This does not just affect the branch protection UI: other github applications (for example, bors-ng) are designed to look for a particular set of commit status indicators to decide how they take action.
Not having a per-workflow status is also a bit strange given the default policy for workflows is to cancel other jobs if any job fails (ie:
jobs.\<job_id\>.continue-on-error: false). In other words: the default policy thinks of workflows as a unit where if anything fails the whole “result” would fail. It is unclear to me why this logical “result” is not published.
I’m considering if there are some workarounds here by taking advantage of job dependencies. If anyone has ideas for a workaround, do let me know.