Skip to content

ci: install and verify exact Python release artifacts - #296

Merged
imran-siddique merged 3 commits into
mainfrom
agent/verify-python-release-artifacts
Aug 11, 2026
Merged

ci: install and verify exact Python release artifacts#296
imran-siddique merged 3 commits into
mainfrom
agent/verify-python-release-artifacts

Conversation

@imran-siddique

Copy link
Copy Markdown
Member

Summary

Gate PyPI publication on independently installing and exercising both artifacts that will be uploaded: the wheel and source distribution.

For each artifact, the publish job creates a clean virtual environment, installs the artifact with its declared CLI extra, runs a standalone smoke test outside the checkout, and invokes the packaged manifest entry point. Tag-triggered releases also require the python-v* tag version to match package metadata.

Root cause

The existing workflow ran twine check, which validates distribution metadata but does not prove that an artifact installs, imports from the installed location, exposes the expected version/API, or can complete a cryptographic operation. Tests against checkout source cannot catch packaging omissions or stale build contents.

Validation

  • Built the 0.11.0 wheel and sdist locally
  • Installed each exact artifact into a separate clean virtual environment
  • Verified metadata version and import provenance for both
  • Completed a public Ed25519 sign/verify roundtrip for both
  • Invoked the packaged CLI from both environments
  • Full suite: 848 passed, 4 skipped
  • mypy and Ruff: clean
  • git diff --check: clean

Documentation

  • Documented the release artifact gate in CONTRIBUTING
  • Added an Unreleased security changelog entry

Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
Signed-off-by: Imran Siddique <imran.siddique@opaque.co>
@imran-siddique
imran-siddique marked this pull request as ready for review August 11, 2026 16:26
@imran-siddique
imran-siddique merged commit 7f7031b into main Aug 11, 2026
13 checks passed
@imran-siddique
imran-siddique deleted the agent/verify-python-release-artifacts branch August 11, 2026 16:29
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.

1 participant