mirror of
https://git.pumpin.online/funkpower/typikon.git
synced 2026-10-23 03:07:12 +00:00
fix what a 1.0 would have welded into PyPI metadata
An adversarial review of the release, and four of its findings were things
PyPI never lets you replace once uploaded.
- rust-version said 1.74. clap has needed 1.85 since 4.6, and cargo
hard-errors rather than warning, so the sdist advertised a floor it could
not build on. docs/releasing.md sends macOS and Windows users to that
sdist.
- The wheel was classified Development Status :: 4 - Beta on a release the
changelog calls stable, with none of the Python version classifiers PyPI
indexes on.
- Six README links were relative. PyPI resolves them against the project
page, so every one 404'd there, as they do on the live 0.2.0 page now.
- in that order packs the wheel into the
sdist. The tarball on disk was 431KB with an x86-64 binary inside it.
Also: twine upload gains --skip-existing, so a retry after a partial upload
finishes rather than dying on a version that cannot be reused; twine check
gains the renderer that makes it parse the description at all, without which
it returns None and reports PASSED; and the README no longer claims a
twenty-year sweep the test did not run, because 366 * 21 / 4 is five years.
The test now runs the twenty-one it was named for.
The crates.io name belongs to an unrelated project, which the README now says
rather than leaving a reader to find out from cargo.
This commit is contained in:
@@ -39,7 +39,10 @@ jobs:
|
||||
run: |
|
||||
apt-get update && apt-get install -y --no-install-recommends python3 python3-venv
|
||||
python3 -m venv /tmp/venv
|
||||
/tmp/venv/bin/pip install --quiet 'maturin[zig]' twine
|
||||
# readme-renderer[md] is what makes `twine check` actually parse the
|
||||
# long description. Without it the render returns None and the
|
||||
# check reports PASSED regardless, even with --strict.
|
||||
/tmp/venv/bin/pip install --quiet 'maturin[zig]' twine 'readme-renderer[md]'
|
||||
# --zig cross-compiles against an older glibc than this image ships, so
|
||||
# the wheel is not silently pinned to bookworm's.
|
||||
for target in x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu; do
|
||||
@@ -60,5 +63,8 @@ jobs:
|
||||
TWINE_USERNAME: __token__
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
||||
run: |
|
||||
/tmp/venv/bin/twine check dist/*
|
||||
/tmp/venv/bin/twine upload --non-interactive dist/*
|
||||
/tmp/venv/bin/twine check --strict dist/*
|
||||
# --skip-existing so a retry after a partial upload finishes the job
|
||||
# instead of dying on the first file. A version cannot be reused,
|
||||
# so a half-published release would otherwise burn it.
|
||||
/tmp/venv/bin/twine upload --non-interactive --skip-existing dist/*
|
||||
|
||||
Reference in New Issue
Block a user