fix: stop CI Success passing over a job set that never ran (#14395)
Two ways a PR reaches a green CI Success without its tests running. Every job here is gated on the PR not being a draft, but the workflow does not listen for ready_for_review. A PR opened as a draft and later marked ready therefore has no run in which that gate was ever true: the newest run still carries the draft payload, path-filter is skipped, and every job that depends on its outputs is skipped with it. CI Success then reports success, because its exit code counts only failure and cancelled results. A skipped need is not a failure, which is right when path-filter ran and decided nothing relevant changed, and wrong when path-filter produced no decision at all. The same hole covers a path-filter that fails outright. Listen for ready_for_review, and require a path-filter decision whenever CI was supposed to run and the run-all-tests bypass is not in play. Observed on #14357: approved and mergeable with CI Success green in 4 seconds, Run Backend Tests skipped, having gated on nothing.
G
Gabriel Luiz Freitas Almeida committed
3310ccfda30aa6bd26624663c9477c6643d30d5c
Parent: 358a2b8
Committed by GitHub <noreply@github.com>
on 8/24/2026, 6:50:44 PM