Uh oh!
There was an error while loading. Please reload this page.
CI: Upload wheels to release artifacts and auto-create release drafts - #873
Conversation
…tifacts Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
leofang
commented
Aug 20, 2025
@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>
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 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
leofang
left a comment
There was a problem hiding this comment.
We'll know if this works next time we release!
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
* 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 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.