SIGN IN SIGN UP

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