The census flags FAILING, CONFLICTING, changes-requested and draft. It does not flag a pull request whose checks were never created.
When a repository requires approval for outside contributors, every push leaves the workflow runs at action_required and produces zero check runs. statusCheckRollup is then an empty array, so the pull request looks identical to one that is quiet and green.
Seen three times in two days: cisco/libsrtp#821 sat with a pushed fix and no CI for two days, and apache/commons-lang#1783 and #1787 are in the same state now.
Proposal: flag an open pull request when it has commits and zero check runs on its head, printed as no checks on head (likely awaiting run approval). Distinguish it from a repository that runs no CI at all by checking whether the default branch has any workflow runs, or simply by looking for workflow runs on the head SHA with a non-empty conclusion of action_required.
The distinction matters for the standing rule: a failing check is ours to fix, a missing run is the maintainer's click, and the desk should say which.
The census flags FAILING, CONFLICTING, changes-requested and draft. It does not flag a pull request whose checks were never created.
When a repository requires approval for outside contributors, every push leaves the workflow runs at
action_requiredand produces zero check runs.statusCheckRollupis then an empty array, so the pull request looks identical to one that is quiet and green.Seen three times in two days: cisco/libsrtp#821 sat with a pushed fix and no CI for two days, and apache/commons-lang#1783 and #1787 are in the same state now.
Proposal: flag an open pull request when it has commits and zero check runs on its head, printed as
no checks on head (likely awaiting run approval). Distinguish it from a repository that runs no CI at all by checking whether the default branch has any workflow runs, or simply by looking for workflow runs on the head SHA with a non-empty conclusion ofaction_required.The distinction matters for the standing rule: a failing check is ours to fix, a missing run is the maintainer's click, and the desk should say which.