From 88c1dae620ef19d5fce76174330db749036b5d9e Mon Sep 17 00:00:00 2001 From: Rand Lee Date: Wed, 23 Sep 2026 22:25:55 -0700 Subject: [PATCH] release(1.6.1): accept setuptools sdists and build the pure-python wheel 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 --- .github/scripts/release_artifacts.py | 5 +++-- release/publish-artifacts.toml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/scripts/release_artifacts.py b/.github/scripts/release_artifacts.py index 7d9b473fc..05cb7b2e2 100644 --- a/.github/scripts/release_artifacts.py +++ b/.github/scripts/release_artifacts.py @@ -631,11 +631,12 @@ def _python_distribution_name_from_wheel(path: Path, expected: set[str]) -> str: def _python_distribution_name_from_sdist(path: Path, expected: set[str]) -> str | None: with tarfile.open(path, "r:gz") as archive: - metadata = [member for member in archive.getmembers() if member.name.endswith("/PKG-INFO")] + # Root-level PKG-INFO only: setuptools sdists also carry *.egg-info/PKG-INFO (sc-publish#74). + metadata = [m for m in archive.getmembers() if m.name.endswith("/PKG-INFO") and m.name.count("/") == 1] if not metadata: return None if len(metadata) != 1: - raise SystemExit(f"{path}: expected exactly one sdist PKG-INFO file") + raise SystemExit(f"{path}: expected exactly one root-level sdist PKG-INFO file") extracted = archive.extractfile(metadata[0]) if extracted is None: raise SystemExit(f"{path}: unable to read sdist PKG-INFO") diff --git a/release/publish-artifacts.toml b/release/publish-artifacts.toml index 35d04f234..57bc58e66 100644 --- a/release/publish-artifacts.toml +++ b/release/publish-artifacts.toml @@ -193,7 +193,7 @@ source = "crates/hermes-atm" build_system = "setuptools" module_path = "crates/hermes-atm/src/hermes_atm" sdist = true -wheels = ["ubuntu-latest", "macos-latest", "windows-latest"] +wheels = ["ubuntu-latest"] [channels.pypi] workflow = "pypi-publish.yml"