CI: Upload wheels to release artifacts and auto-create release drafts#873
Merged
CI: Upload wheels to release artifacts and auto-create release drafts#873
Conversation
Contributor
…tifacts Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] CI: Upload wheels to release artifacts
CI: Upload wheels to release artifacts
Aug 20, 2025
Member
|
@copilot thanks. Now that you're touching the release workflows, could you also take the opportunity to address #622? The logic should be
|
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
Contributor
Author
Implemented auto-creation of release drafts as requested in #622. The release workflow now:
This improves the UX by eliminating the manual step of creating release drafts before running the workflow. Commit: 509d596 |
Copilot
AI
changed the title
CI: Upload wheels to release artifacts
CI: Upload wheels to release artifacts and auto-create release drafts
Aug 20, 2025
leofang
requested changes
Aug 21, 2025
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
kkraus14
approved these changes
Aug 21, 2025
leofang
approved these changes
Aug 21, 2025
Member
leofang
left a comment
There was a problem hiding this comment.
We'll know if this works next time we release!
leofang
added a commit
that referenced
this pull request
Mar 11, 2026
* ci: require tag-triggered artifacts for release uploads (#1606) Backport of #1606 to 12.9.x. Adapted for the 12.9.x branch workflow structure: - ci.yml: add tag push triggers (v*, cuda-core-v*, cuda-pathfinder-v*) so setuptools-scm resolves exact release versions from tag refs - release.yml: make run-id optional with auto-detection from tag-triggered CI runs via ci/tools/lookup-run-id; add wheel version validation via ci/tools/validate-release-wheels before publishing - Add ci/tools/lookup-run-id: finds the successful tag-triggered CI run for a given release tag - Add ci/tools/validate-release-wheels: rejects dev/local wheel versions and enforces version match against the release tag - release_checklist.yml: add reminder to wait for tag-triggered CI * ci: sync release-upload.yml with main and add download-wheels script Sync release-upload.yml to match main by adding run-id and component inputs and a 'Download and Upload Wheels' step that downloads wheels via ci/tools/download-wheels, validates them via validate-release-wheels, and uploads them to the GitHub Release. Also add the ci/tools/download-wheels helper script (from main) and wire up release.yml to pass run-id and component to the upload-archive job. Fixes #1120: the download-wheels script now exists on the backport branch, so the release-upload workflow no longer fails with 'No such file or directory'. * [pre-commit.ci] auto code formatting --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR extends the release workflow to automatically upload wheels to GitHub release artifacts and improves the release UX by auto-creating release drafts, addressing both the backup solution requested in #742 and the workflow enhancement requested in #622.
Changes Made
1. Created Shared Wheel Download Script
Added
ci/tools/download-wheelsthat encapsulates the wheel downloading logic previously inline inrelease.yml. The script:*-testspatterns)2. Extended
release-upload.ymlWorkflowEnhanced the existing release upload workflow to optionally download and upload wheels:
run-idandcomponentinputs (maintains backward compatibility)3. Refactored
release.ymlWorkflowUpdated the main release workflow to leverage the new functionality:
upload-archivejob call to passrun-idandcomponentparameters for wheel archivingpublish-wheelsjob to use the shared script instead of duplicated inline logic4. Auto-create Release Drafts (Issue #622)
Enhanced the release workflow to improve UX by automatically creating release drafts:
gh release create --draftBehavior
Testing
The implementation includes comprehensive testing:
This provides the requested backup solution for publicly released wheels and improved release workflow UX while maintaining all existing functionality and following the principle of minimal, surgical changes.
Fixes #742 and addresses #622.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.