Commit 520ae5c
ci+docs: Add draft PR enforcement (#5867)
Add a GitHub Actions workflow that automatically converts non-draft PRs
to draft on open/reopen, and document the draft PR requirement in
CONTRIBUTING.md.
**Motivation:** Our [code submission
standard](https://develop.sentry.dev/sdk/getting-started/standards/code-submission/#pull-requests)
says PRs must start as drafts, but this wasn't enforced. Non-draft PRs
trigger review notifications prematurely and signal readiness when the
author may not be done. This workflow nudges contributors to open as
draft by automatically converting non-draft PRs and posting a comment
explaining the policy.
**What's included:**
- `.github/workflows/enforce-draft-pr.yml` — triggers on
`pull_request_target` (opened, reopened), uses the GraphQL
`convertPullRequestToDraft` mutation. Includes error handling and
comment deduplication on reopen.
- `CONTRIBUTING.md` — new "Pull Requests" section documenting the draft
requirement and linking to the code submission standard.
**Limitations:** GitHub has no pre-creation hook, so the initial CI run
and review notifications still fire before the conversion. The value is
in training contributors and ensuring draft state before a maintainer
picks up the PR.
No exemptions — applies to everyone (maintainers, internal, external
contributors).
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 12fb1ce commit 520ae5c
2 files changed
Lines changed: 87 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
28 | 40 | | |
29 | 41 | | |
30 | 42 | | |
| |||
0 commit comments