Commit 3b5fdba
ci: the drift job checks an installed wheel, not just the source tree (#129)
Closes #103. #116 already covered most of what that issue asked for -- a weekly
resolve that ignores `uv.lock`, reporting to the issue tracker, not gating pull
requests. What it did not cover is the criterion's other half: importing every
subpackage from the *built wheel*.
The distinction is the one #101 was: `mcp>=1.2` resolved to 2.0.0 for anyone
installing fresh, `mcp.server.fastmcp` had gone, and `grapharc[mcp]` was broken
on arrival while every locked job stayed green. A suite run from the source tree
does not see a packaging break that only shows in an installed wheel -- a
subpackage dropped from the build, or an extra whose new major moves a module
the package imports at import time.
The walk moves out of `ci.yml`'s heredoc into `scripts/wheel_import_walk.py`,
because two jobs now need exactly this check and two copies would drift apart.
Same logic, two parameters: which checkout to compare against, and the prefix
the import must come from. `scripts/` holds no `grapharc` package, so running it
by path does not put the checkout on `sys.path` -- the property the old `cd /tmp`
was there for, kept and now asserted with a message rather than a bare
`assert`.
Verified by running it for real rather than reasoning about it, and it earned
its keep immediately: against the wheel then sitting in `dist/` it reported
`grapharc.examples.plan_research` missing -- correctly, because that wheel was
built before #115 merged. Rebuilt, it walks 132 modules clean.
Deliberately **not** done: putting a ceiling on the eight unbounded extras. The
issue asks for a decision on that and argues a bound should be "a ceiling with a
reason attached, not a reflex" -- so adding eight of them at once is the reflex
it warns against, and it would refuse users upgrades that are fine. Detection is
what this closes; the policy is left open.
Verified: 2214 selected, 13 deselected, ruff clean; the sdist's required-files
and secret-leak checks still pass with `scripts/` added.
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent e1b0dfb commit 3b5fdba
2 files changed
Lines changed: 120 additions & 38 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
239 | 258 | | |
240 | 259 | | |
241 | 260 | | |
| |||
291 | 310 | | |
292 | 311 | | |
293 | 312 | | |
294 | | - | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
295 | 317 | | |
296 | 318 | | |
297 | 319 | | |
298 | 320 | | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
| 321 | + | |
| 322 | + | |
336 | 323 | | |
337 | 324 | | |
338 | 325 | | |
| |||
| 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 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
0 commit comments