Skip to content

release(1.6.1): accept setuptools sdists and build the pure-python wheel once - #1592

Merged
rand-lee merged 1 commit into
mainfrom
release/python-assets-1.6.1
Sep 24, 2026
Merged

rand-lee merged 1 commit into
mainfrom
release/python-assets-1.6.1

Conversation

@randlee

@randlee randlee commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Release run 35958433737 published all 15 crates to crates.io and then failed in the release job at Verify collected Python distributions:

release/hermes_atm-1.6.1.tar.gz: expected exactly one sdist PKG-INFO file

A standard setuptools sdist contains the root PKG-INFO and a second one under src/hermes_atm.egg-info/, so the kit's check rejects every well-formed setuptools sdist. Behind it, the same step would then have failed on the wheel count: the manifest lists three OS legs for hermes-atm, but a pure-python build yields one py3-none-any wheel whose identical filename deduplicates when the legs are collected.

Cause. atm-core's 1.6.0 copy of release_artifacts.py carried both release-branch fixes (sc-publish#74 and #75, from v1.4.4). The phase-bc kit re-render (b381e09) replaced that copy with upstream, which never took them. 1.6.1 is the first release on the re-rendered copy. Same story as #1591.

Fix, consumer-side only, kit untouched.

  • .github/scripts/release_artifacts.py: match only the root-level <rootdir>/PKG-INFO in _python_distribution_name_from_sdist, the 1.6.0 behaviour (sc-publish#74), kept to two lines so the script stays at the 1000-line ceiling its own test enforces.
  • release/publish-artifacts.toml: hermes-atm builds on one wheel leg (ubuntu-latest). A pure-python wheel is platform-independent, so three legs built the same file three times; with one leg the expected and collected counts agree without the atm read hides valid inbox messages when message_id is absent #75 code.

Verified locally against the artifacts downloaded from run 35958433737: validate-manifest passes, the wheel matrix keeps three legs for the maturin distributions and one for hermes-atm, and verify-python-release-assets passes on the patched script where the current one fails, and the kit script tests pass (293 passed, 13 skipped). The publisher retries the root release against this commit; gate-and-tag reuses tag v1.6.1 and the crates step skips the 15 already-published crates.

🤖 Generated with Claude Code

…eel once

Release run 35958433737 published every crate and then failed in the
release job's Python asset verification: a setuptools sdist carries a
second PKG-INFO under *.egg-info, and a pure-python build yields one
universal wheel that three OS legs collapse into. atm-core's 1.6.0 copy of
release_artifacts.py carried both fixes (sc-publish#74, #75); the phase-bc
kit re-render dropped them.

Match only the root-level sdist PKG-INFO again, and build hermes-atm on a
single wheel leg so the expected and collected wheel counts agree.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@randlee
randlee requested a review from rand-lee September 24, 2026 14:35
@rand-lee
rand-lee merged commit 8945c7e into main Sep 24, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants