Skip to content

Cherry-pick: Decouple PyPI publish from GitHub Release - #87

Open
sankalps0549 wants to merge 1 commit into
mainfrom
cherry-pick/im-14373-to-main
Open

Cherry-pick: Decouple PyPI publish from GitHub Release#87
sankalps0549 wants to merge 1 commit into
mainfrom
cherry-pick/im-14373-to-main

Conversation

@sankalps0549

@sankalps0549 sankalps0549 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Description

Cherry-pick of the decoupled release workflow from release/27 to main.

Splits the monolithic publish.yml into two independent, operator-driven workflows:

  • github-release.yml - creates a GitHub Release with the wheel asset attached (no PyPI publish)
  • pypi-publish.yml - downloads the wheel from a GitHub Release and publishes to PyPI + deploys docs to GitHub Pages

Also adds a PyPI publish ordering guard (blocks publishing a newer version if older GitHub Releases are missing from PyPI), a duplicate-release-tag check, CI gate before release, and updates RELEASE.md to document the two-step process.

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING document
  • My code follows the style guidelines of this project
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have updated the documentation accordingly
  • I have added a note to CHANGELOG.md describing my changes
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Testing

Workflows were validated on the release/27 branch via PR #85 (merged). The github-release.yml and pypi-publish.yml workflows were triggered manually and confirmed operational. Security scanners (gitleaks, checkov) pass.

Additional Notes

This is a cherry-pick of the squash-merge commit a4f59c0 from release/27 to bring the decoupled workflow changes forward to main. The original PR was #85.

* [IM-14373] Decouple GitHub Release from PyPI publish

Split publish.yml into github-release.yml and pypi-publish.yml. Add PyPI ordering guard that blocks publishing newer versions before older ones are on PyPI. Update RELEASE.md to document two-step release process.

* fix: avoid gitleaks false positive on Authorization header

* fix: suppress checkov CKV2_GHA_1 and gitleaks false positives
@sankalps0549 sankalps0549 changed the title [IM-14373] Cherry-pick: Decouple PyPI publish from GitHub Release Cherry-pick: Decouple PyPI publish from GitHub Release Aug 18, 2026
@sankalps0549
sankalps0549 marked this pull request as ready for review August 18, 2026 07:12
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