-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate nightly releases on TestPyPI #6010
Conversation
Requires trusted publishing to be setup.
Hello. You may have forgotten to update the changelog!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @dime10 ! Looks good to me. Is there a way to check if the action actually works other than just merging and checking? I guess we could add an "on push" trigger to the action to see if an upload works. If not, we could just merge and pray 😅 .
Yes we can definitely test it by adding a temporary trigger, which is what I did for the catalyst equivalent. It's a good idea to test once before merging :) |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6010 +/- ##
==========================================
- Coverage 99.65% 99.65% -0.01%
==========================================
Files 428 430 +2
Lines 41160 41146 -14
==========================================
- Hits 41020 41005 -15
- Misses 140 141 +1 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @dime10
One quick change, and then I'm happy to approve
As part of our ongoing effort to make development across the PennyLane ecosystem easier, this PR introduces nightly releases of the PennyLane package to TestPyPI.
For some context, there has been a strong need for Catalyst development builds to made accessible to PennyLane (and other developers), similar to how PennyLane already depends on Lightning development builds. Beyond helping developers, they are typically needed in order to run CI tasks such as
pennylaneAI/qml
builds or the compiler tests in this repo.A complication of this process is that Catalyst itself will usually depend on the development version of PennyLane in order to stay compatible with PL or to get access to recent modifications.
Previously, this has been handled by pointing pip directly to the github repository, e.g. with
pip install git+https://github.com/pennylaneai/pennylane@{tag}
orpennylane @ git+https://github.com/pennylaneai/pennylane@{tag}
in requirement specifications such assetup.py
. The latter form is particularly useful because it means a build of catalyst (as a wheel) can automatically fetch the right version of pennylane upon installation (where{tag}
is a specific commit on the master branch), providing reproducible builds that will continue to work in the future.The only problem is that uploading to PyPI is not possible with package dependencies that don't come from PyPI (i.e. GitHub in this case). The proposed solution is to make regular development builds of all PennyLane ecosystem packages available on TestPyPI.
This PR introduces a GitHub action that:
0.38.0-dev0
to0.38.0-dev1
)In order to function, we will need to setup trusted publishing on testpypi for this workflow (very easy), a recent feature which bypasses the need for token authentication.
[sc-69108]