|
24 | 24 | 'nix', |
25 | 25 | ], |
26 | 26 | platformAutomerge: true, |
27 | | - rebaseWhen: 'auto', |
| 27 | + rebaseWhen: 'conflicted', |
28 | 28 | osvVulnerabilityAlerts: true, |
| 29 | + semanticCommitScope: 'deps', |
29 | 30 | fetchChangeLogs: 'pr', |
30 | 31 | commitBodyTable: true, |
31 | 32 | prConcurrentLimit: 10, |
|
41 | 42 | }, |
42 | 43 | packageRules: [ |
43 | 44 | { |
44 | | - matchPackageNames: [ |
45 | | - 'discord-py', |
46 | | - 'sqlmodel', |
47 | | - 'sqlalchemy', |
48 | | - 'pydantic', |
49 | | - 'pydantic-settings', |
50 | | - 'alembic', |
51 | | - 'alembic-postgresql-enum', |
52 | | - 'alembic-utils', |
53 | | - 'asyncpg', |
54 | | - 'psycopg', |
55 | | - ], |
| 45 | + // Mark major version bumps with breaking label |
56 | 46 | matchUpdateTypes: [ |
57 | 47 | 'major', |
58 | 48 | ], |
59 | | - automerge: false, |
60 | | - groupName: 'critical', |
61 | 49 | addLabels: [ |
62 | | - 'deps: critical', |
63 | | - 'deps: needs-review', |
| 50 | + 'breaking', |
64 | 51 | ], |
65 | | - prPriority: 10, |
66 | 52 | }, |
67 | 53 | { |
| 54 | + // Critical packages - core dependencies |
68 | 55 | matchPackageNames: [ |
69 | 56 | 'discord-py', |
70 | 57 | 'sqlmodel', |
|
77 | 64 | 'asyncpg', |
78 | 65 | 'psycopg', |
79 | 66 | ], |
80 | | - matchUpdateTypes: [ |
81 | | - 'minor', |
82 | | - 'patch', |
83 | | - ], |
84 | | - automerge: true, |
85 | | - minimumReleaseAge: '14 days', |
86 | | - prPriority: 5, |
87 | | - addLabels: [ |
88 | | - 'deps: critical', |
89 | | - ], |
| 67 | + groupName: 'critical', |
| 68 | + addLabels: ['deps: critical'], |
| 69 | + minimumReleaseAge: '7 days', |
| 70 | + prPriority: 10, |
90 | 71 | }, |
91 | 72 | { |
92 | 73 | matchUpdateTypes: [ |
|
95 | 76 | groupName: 'patch', |
96 | 77 | automerge: true, |
97 | 78 | automergeType: 'branch', |
98 | | - minimumReleaseAge: '14 days', |
| 79 | + minimumReleaseAge: '7 days', |
99 | 80 | addLabels: [ |
100 | 81 | 'deps: patch', |
101 | 82 | ], |
|
108 | 89 | groupName: 'minor', |
109 | 90 | automerge: true, |
110 | 91 | automergeType: 'branch', |
111 | | - minimumReleaseAge: '14 days', |
| 92 | + minimumReleaseAge: '7 days', |
112 | 93 | addLabels: [ |
113 | 94 | 'deps: minor', |
114 | 95 | ], |
|
186 | 167 | ], |
187 | 168 | prPriority: -2, |
188 | 169 | }, |
189 | | - { |
190 | | - matchPackageNames: [ |
191 | | - 'basedpyright', |
192 | | - ], |
193 | | - matchUpdateTypes: [ |
194 | | - 'minor', |
195 | | - 'patch', |
196 | | - ], |
197 | | - automerge: true, |
198 | | - automergeType: 'branch', |
199 | | - addLabels: [ |
200 | | - 'deps: dev', |
201 | | - ], |
202 | | - }, |
203 | 170 | { |
204 | 171 | matchManagers: [ |
205 | 172 | 'github-actions', |
|
213 | 180 | commitMessageTopic: '{{depName}}', |
214 | 181 | }, |
215 | 182 | { |
| 183 | + // Docker updates (Dockerfile and docker-compose) |
216 | 184 | matchManagers: [ |
217 | 185 | 'docker-compose', |
218 | | - ], |
219 | | - groupName: 'docker-compose', |
220 | | - automerge: true, |
221 | | - automergeType: 'branch', |
222 | | - addLabels: [ |
223 | | - 'deps: docker', |
224 | | - ], |
225 | | - }, |
226 | | - { |
227 | | - matchManagers: [ |
228 | 186 | 'dockerfile', |
229 | 187 | ], |
230 | | - groupName: 'dockerfile', |
| 188 | + groupName: 'docker', |
231 | 189 | automerge: true, |
232 | 190 | automergeType: 'branch', |
233 | 191 | addLabels: [ |
|
249 | 207 | prPriority: 5, |
250 | 208 | }, |
251 | 209 | { |
252 | | - matchManagers: [ |
253 | | - 'dockerfile', |
254 | | - 'github-actions', |
255 | | - 'custom.regex', |
256 | | - ], |
257 | | - matchPackageNames: [ |
258 | | - 'python', |
259 | | - ], |
| 210 | + // Python runtime - groups .python-version, workflows, and Dockerfile |
| 211 | + matchManagers: ['dockerfile', 'github-actions', 'custom.regex'], |
| 212 | + matchPackageNames: ['python'], |
260 | 213 | groupName: 'python runtime', |
261 | | - addLabels: [ |
262 | | - 'deps: python', |
263 | | - ], |
| 214 | + addLabels: ['deps: python'], |
264 | 215 | prPriority: 10, |
265 | 216 | }, |
266 | 217 | { |
267 | | - matchManagers: [ |
268 | | - 'dockerfile', |
269 | | - 'github-actions', |
270 | | - 'custom.regex', |
271 | | - ], |
272 | | - matchPackageNames: [ |
273 | | - 'python', |
274 | | - ], |
275 | | - matchUpdateTypes: [ |
276 | | - 'patch', |
277 | | - ], |
| 218 | + // Python patch updates auto-merge |
| 219 | + matchManagers: ['dockerfile', 'github-actions', 'custom.regex'], |
| 220 | + matchPackageNames: ['python'], |
| 221 | + matchUpdateTypes: ['patch'], |
278 | 222 | automerge: true, |
279 | 223 | automergeType: 'branch', |
280 | 224 | minimumReleaseAge: '3 days', |
281 | 225 | }, |
282 | 226 | { |
283 | | - matchManagers: [ |
284 | | - 'dockerfile', |
285 | | - 'github-actions', |
286 | | - 'custom.regex', |
287 | | - ], |
288 | | - matchPackageNames: [ |
289 | | - 'python', |
290 | | - ], |
291 | | - matchUpdateTypes: [ |
292 | | - 'minor', |
293 | | - 'major', |
294 | | - ], |
| 227 | + // Python minor/major need review |
| 228 | + matchManagers: ['dockerfile', 'github-actions', 'custom.regex'], |
| 229 | + matchPackageNames: ['python'], |
| 230 | + matchUpdateTypes: ['minor', 'major'], |
295 | 231 | automerge: false, |
296 | | - addLabels: [ |
297 | | - 'deps: needs-review', |
298 | | - ], |
| 232 | + addLabels: ['deps: needs-review'], |
299 | 233 | }, |
300 | 234 | { |
301 | 235 | matchManagers: [ |
|
0 commit comments