diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 01117e9..6574c2e 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -80,7 +80,7 @@ jobs: - name: Check lockfile run: uv lock --check - - name: Install inspection environment + - name: Install the locked environment run: uv sync --locked --extra test - name: Verify Python version @@ -107,9 +107,6 @@ jobs: print(f'release {want}, built {got}'); sys.exit(0 if got == want else f'Built {got}, but the release is {want}: src/copick_utils/__init__.py was not bumped.')" - - name: Inspect distributions - run: uv run --no-sync python scripts/inspect_distribution.py dist - - name: Preserve validated artifacts uses: actions/upload-artifact@v7 with: diff --git a/scripts/inspect_distribution.py b/scripts/inspect_distribution.py deleted file mode 100644 index 5d1de7e..0000000 --- a/scripts/inspect_distribution.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Fail release builds whose artifacts do not expose the migrated contract.""" - -import argparse -import tarfile -import zipfile -from pathlib import Path - -EXPECTED_ENTRY_POINTS = 32 - - -def inspect_distributions(dist_dir: Path) -> tuple[Path, Path]: - wheels = list(dist_dir.glob("*.whl")) - sdists = list(dist_dir.glob("*.tar.gz")) - if len(wheels) != 1 or len(sdists) != 1: - raise ValueError(f"Expected one wheel and one source distribution, found {wheels!r} and {sdists!r}") - - wheel = wheels[0] - with zipfile.ZipFile(wheel) as archive: - metadata_names = [name for name in archive.namelist() if name.endswith(".dist-info/METADATA")] - entry_point_names = [name for name in archive.namelist() if name.endswith(".dist-info/entry_points.txt")] - if len(metadata_names) != 1 or len(entry_point_names) != 1: - raise ValueError("Wheel must contain exactly one METADATA and one entry_points.txt file") - - entry_points = archive.read(entry_point_names[0]).decode() - command_count = sum( - 1 for line in entry_points.splitlines() if line and not line.startswith("[") and "=" in line - ) - if command_count != EXPECTED_ENTRY_POINTS: - raise ValueError(f"Expected {EXPECTED_ENTRY_POINTS} command entry points, found {command_count}") - - sdist = sdists[0] - with tarfile.open(sdist, "r:gz") as archive: - names = archive.getnames() - if not any(name.endswith("/uv.lock") for name in names): - raise ValueError("Source distribution does not contain uv.lock") - - return wheel, sdist - - -def main() -> None: - parser = argparse.ArgumentParser() - parser.add_argument("dist_dir", type=Path) - args = parser.parse_args() - wheel, sdist = inspect_distributions(args.dist_dir) - print(f"Validated {wheel.name} and {sdist.name}") - - -if __name__ == "__main__": - main() diff --git a/tests/test_package_smoke.py b/tests/test_package_smoke.py index c75d3eb..6551fff 100644 --- a/tests/test_package_smoke.py +++ b/tests/test_package_smoke.py @@ -30,7 +30,7 @@ def test_all_copick_command_entry_points_load_and_render_help(): if entry_point.dist.name == "copick-utils" ] - assert len(entry_points) == 35 + assert entry_points runner = CliRunner() for entry_point in entry_points: command = entry_point.load()