Commit 4e705c8
committed
fix(release): stop the publish job shipping an unbuildable sdist
docs/RELEASING.md opens with "Wheels only - never publish an sdist" and explains
why: src/* is gitignored, so the tarball carries Cargo.toml and build.rs but no
.rs sources. Any platform without a matching wheel falls back to it, attempts a
source build, and fails with a confusing Rust error instead of a clean "no wheel
available". PyPI holds 15 wheels and zero sdists for 0.6.8.
The publish job contradicted that policy directly - its collect step copied
*.tar.gz into dist/ alongside the wheels, so tagging v0.7.0 would have uploaded
one. Nothing in the pipeline would have objected; twine check accepts sdists
quite happily.
Collect wheels only, and add two guards that fail the job loudly rather than let
it ship quietly: refuse if any .tar.gz reached dist/, and refuse if no wheel did.
The sdist job still runs and still uploads its tarball as a workflow artifact for
inspection; it simply never reaches PyPI.1 parent 65330f2 commit 4e705c8
1 file changed
Lines changed: 22 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
392 | 392 | | |
393 | 393 | | |
394 | 394 | | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
395 | 406 | | |
396 | | - | |
397 | 407 | | |
398 | 408 | | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
399 | 420 | | |
400 | 421 | | |
401 | 422 | | |
| |||
0 commit comments