Add PyPI release workflow with PEP 740 attestations#54
Conversation
Wire release-pypi.yml for trusted publishing on SemVer tags, publish metadata in pyproject.toml, and align the signing dry run with pytest and the current reusable signing workflow. Signed-off-by: Nathan Gillett <nathan@intentproof.io>
PR SummaryMedium Risk Overview Updates the signing dry-run workflow to use Adjusts Reviewed by Cursor Bugbot for commit e43bc82. Bugbot is set up for automated code reviews on this repo. Configure here. |
Pass release_version through env and read it with os.environ instead of interpolating workflow inputs into inline Python. Signed-off-by: Nathan Gillett <nathan@intentproof.io>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 01da175. Configure here.
Add attestations: write and packages: write on publish and sign jobs that call the reusable signing workflow, matching the dry run. Signed-off-by: Nathan Gillett <nathan@intentproof.io>

Summary
release-pypi.ymlto build, publish, and sign Python SDK releases onSemVer tags via PyPI trusted publishing (PEP 740 attestations) and Cosign
metadata on GitHub Releases.
pyproject.toml(intentproof, project URLs,keywords) per ADR-012 SDK distribution posture.
signing workflow pin.
Test plan
PATH=".venv/bin:$PATH" pytest -q(91 passed, 100% coverage)PATH=".venv/bin:$PATH" bash ./scripts/check-coverage.sh 95IntentProof/intentproof-sdk-python, tagv0.2.0, verifypip download --require-hashes+cosign verify-blob(Task acceptance)Review
publish requires PyPI trusted-publisher configuration and a tagged release
run before acceptance can be marked complete.