Skip to content

ci(release): prepare verified assets before immutable publication - #52

Merged
laithalsaadoon merged 1 commit into
mainfrom
ci/immutable-release-assets
Oct 11, 2026
Merged

laithalsaadoon merged 1 commit into
mainfrom
ci/immutable-release-assets

Conversation

@laithalsaadoon

Copy link
Copy Markdown
Owner

Release assets currently attach after GitHub publication, which prevents immutable releases and lets PyPI publishing proceed alongside a failed GitHub upload.

The release action dispatches preparation at the annotated tag. Preparation checks the tagged source, builds and tests the distributions, creates SBOMs and signatures, verifies them, and attaches all six assets to the draft. Upload retries compare existing bytes and upload only missing files.

After draft publication, the PyPI path requires an immutable release, verifies its release attestation, asset signatures, source commit and ref, and manifest, then publishes the existing wheel and sdist through the unchanged reviewer-gated Trusted Publisher. It does not rebuild or modify release assets.

Validation: workflow syntax and shell checks pass; the workflow security scan reports no findings. The full repository gate and regression tests cover missing, mismatched, partial, and stray assets.

@laithalsaadoon
laithalsaadoon merged commit 58a0087 into main Oct 11, 2026
18 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.

1 participant