Commit f92a2df
committed
feat(ci): gate merges on maintainer approval via a silent status check
Add a required check that passes only when someone listed in
MAINTAINERS.md has an approving review on the pull request. Unlike
CODEOWNERS and ruleset required reviewers, a status check enforces who
must approve without notifying anyone, and its approver list is a file,
so outside collaborators can be listed.
The job reports through its own exit code rather than a posted commit
status, so it needs no write token and no head SHA. It runs on
pull_request_review, and on merge_group because the queue waits for
required contexts to report on the merge group ref regardless of the
pull request result.
MAINTAINERS.md and the decision helper are read from main, never the
pull request ref, so a contributor cannot add themselves and
self-approve. The helper fails closed when no handles parse.
Signed-off-by: Jim Meyer <jimeyer@nvidia.com>1 parent 853e529 commit f92a2df
7 files changed
Lines changed: 135 additions & 224 deletions
File tree
- .github
- workflows
- tasks/scripts
This file was deleted.
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
| 89 | + | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
| 38 | + | |
41 | 39 | | |
42 | 40 | | |
43 | 41 | | |
| |||
62 | 60 | | |
63 | 61 | | |
64 | 62 | | |
65 | | - | |
66 | | - | |
67 | | - | |
| 63 | + | |
68 | 64 | | |
69 | | - | |
70 | 65 | | |
71 | 66 | | |
72 | 67 | | |
73 | | - | |
| 68 | + | |
74 | 69 | | |
75 | 70 | | |
76 | 71 | | |
77 | | - | |
78 | | - | |
| 72 | + | |
| 73 | + | |
79 | 74 | | |
80 | 75 | | |
81 | 76 | | |
82 | | - | |
| 77 | + | |
83 | 78 | | |
84 | | - | |
| 79 | + | |
85 | 80 | | |
86 | | - | |
| 81 | + | |
87 | 82 | | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
| 83 | + | |
93 | 84 | | |
94 | 85 | | |
95 | 86 | | |
| |||
114 | 105 | | |
115 | 106 | | |
116 | 107 | | |
117 | | - | |
| 108 | + | |
118 | 109 | | |
119 | 110 | | |
120 | 111 | | |
| |||
132 | 123 | | |
133 | 124 | | |
134 | 125 | | |
135 | | - | |
| 126 | + | |
136 | 127 | | |
137 | 128 | | |
138 | 129 | | |
| |||
146 | 137 | | |
147 | 138 | | |
148 | 139 | | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | 140 | | |
153 | 141 | | |
154 | 142 | | |
| |||
167 | 155 | | |
168 | 156 | | |
169 | 157 | | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
180 | 166 | | |
| 167 | + | |
181 | 168 | | |
182 | 169 | | |
183 | 170 | | |
| |||
0 commit comments