GitHub Actions pull_request run excluded on draft PRs
By default a pull_request workflow runs for draft PRs too, but teams often gate jobs to skip drafts. If a job is conditioned on the PR not being a draft, it will not run until the PR is marked ready - which can look like a missing required check.
What this error means
Checks do not run on a draft PR, or required checks stay pending until the PR leaves draft.
This workflow run was skipped for the draft pull request.
The job condition excludes draft pull requests (github.event.pull_request.draft == true).Common causes
Job gated on draft state
An if condition skips the job while github.event.pull_request.draft is true.
Expectation mismatch on required checks
A required check that is skipped on drafts leaves merge blocked until the PR is ready.
How to fix it
Gate intentionally and mark ready when needed
- To skip drafts, condition the job on the draft flag explicitly.
- Mark the PR Ready for review to trigger the gated checks.
- Use the ready_for_review event type if you want runs precisely when drafts become ready.
on:
pull_request:
types: [opened, synchronize, ready_for_review]
jobs:
test:
if: github.event.pull_request.draft == falseHow to prevent it
- Decide deliberately whether required checks should run on drafts.
- Use ready_for_review to trigger when a draft becomes ready.