Commit 7a40675
chore(release): purge ./publish script + document GH-Action release flow (#457)
PyPI releases land via `.github/workflows/release-auto.yml` and PyPI
trusted publishing (OIDC) — the legacy `./publish` shell wrapper and
the local CLI flow inside `ci/publish.py` (`main()`, `argparse`,
`trigger_and_wait`, `download_artifacts`, `upload_wheels`,
`check_pypi_version`, `verify_published`, ...) are no longer used by
anything but were still being documented as the release procedure.
Worse: they were misleading. The intuitive flow they implied —
"bump version, tag v<version>, run ./publish" — *breaks* the
GH-Action gate. The action's `prepare` step refuses to build when
the tag already exists, so a manually-pushed tag turns every
subsequent push into a silently-skipped no-op release. (See
release-auto.yml:91 — `should_build` requires `tag_exists != "true"`.)
Changes:
- Delete `./publish` (the bash entry point).
- Rewrite `ci/publish.py` down to the library surface
`release-auto.yml`'s `build-pypi` step imports: `DIST_DIR`,
`WHEEL_DIR`, `PYTHON_SHIMS_DIR`, `ARTIFACT_MAP`, `PLATFORMS`,
`EXTENSION_NAMES`, `log`, `record_hash`, `read_project_meta`,
`build_wheel`, `build_all_wheels`. 462 lines of dead local-CLI
code removed; the wheel-assembly behaviour the workflow depends
on is byte-equivalent (sanity-checked via `python -c "import
publish; ..."`).
- Add `docs/RELEASING.md` with the actual end-to-end procedure:
bump both files, push (no tag), let the action do everything;
plus failure-mode recovery (delete a manually-pushed tag and
re-run the workflow via `workflow_dispatch`; that's the bug that
caught me on the 2.2.19 cut today).
- Update every doc/comment that pointed at the old flow: CLAUDE.md,
docs/DEVELOPMENT.md (×2), python/README.md, ci/bin_launcher.py,
setup.py.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 516ffa2 commit 7a40675
8 files changed
Lines changed: 161 additions & 486 deletions
File tree
- ci
- docs
- python
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
| 51 | + | |
54 | 52 | | |
55 | | - | |
56 | | - | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
57 | 59 | | |
58 | 60 | | |
| 61 | + | |
| 62 | + | |
59 | 63 | | |
60 | 64 | | |
61 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
0 commit comments