-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[Python] Uploading nightly wheels to the scientific python nightly channel #40216
Comments
cc @raulcd This sounds as an interesting idea to me. My understanding is that our nightly wheels are not "official" release artifacts anyway, so it shouldn't matter too much where it is hosted? (also not sure if the current hosting location is actually tied to the Apache foundation) I suppose the main cost is the cost of switching for current users of this (and for them to first find out that the old link no longer gives them the latest packages, at the time we would decide to stop uploading there as well) |
👋 @jorisvandenbossche Just wanted to see if the team had any further thoughts on this. Let us know if we can help answer any questions. |
We probably could upload wheels to both places. In terms of discoverability we have to advise to users that the wheels provided are not official releases and should be used at their own risk. Similar to what we have at the documentation:
I think we are ok publishing the nightly wheels under the scientific python nightly channel. |
@raulcd Great! To move forward we need someone in the Arrow organization to do the following:
If you'd also like to use the |
Could you add me https://anaconda.org/ktou/ to the |
@kou done. As soon as you generate an API token you can start uploading to https://anaconda.org/scientific-python-nightly-wheels/pyarrow. 👍 Let's leave this Issue open though until the first automated CI/CD upload passes. |
Thanks! I confirmed that I'm a member of the group. @assignUser We need to ask INFRA to set |
@assignUser Can you also share your Anaconda Cloud account name so I can add you to the |
@matthewfeickert Sorry I missed the notifications 🙈 https://anaconda.org/assignuser |
@assignUser added. 👍 |
I'll take care of adding the token with infra |
@kou infra just added the secret so we can create a workflow (will close the ticket once we can confirm it works) |
Thanks! |
INFRA will add the secret but with a |
That's totally fine. The secret name is arbitrary even if the GitHub Actions uploaded is used, but I just suggest a name to keep it simple for people. 👍 |
OK. What is the next action then? We need to update our workflows? |
@kou As far as I understand we need to create a workflow similiar to |
Yeah. #40216 (comment) has some linked examples of how other projects are doing this. |
I see! Thanks! |
👋 @kou @assignUser I just wanted to follow up on this to see if there are any questions on your end RE: getting deployments up. |
@assignUser Can you work on this? Or should someone work on this? |
@kou I won't get to it quickly but I can take a look 'soon'(tm), maybe @matthewfeickert would be interested in working on it? The way we generate the wheels is a bit complex but it seems you have looked into that already? |
@assignUser Realistically I don't have time at the moment, given that summer is peak everything time for academia. |
For uploading the wheels, we currently have the
We could do this with a similar approach adding an extra macro to upload the wheels to anaconda.org? |
… to scientific python channel on Anaconda (apache#43862) ### Rationale for this change As discussed on the main issue is interesting for discoverability to have the wheels uploaded to the nightly channel. ### What changes are included in this PR? Added macro to upload wheel to scientific python channel ### Are these changes tested? Via archery ### Are there any user-facing changes? No but nightly wheels will be available on scientific python channel * GitHub Issue: apache#40216 Authored-by: Raúl Cumplido <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
… label of scientific-python-nightly-wheels channel (apache#43932) ### Rationale for this change Small follow-up on apache#43862, correcting the `label` being used to upload the wheels. See apache#40216 (comment) for context. * GitHub Issue: apache#40216 Authored-by: Joris Van den Bossche <[email protected]> Signed-off-by: Joris Van den Bossche <[email protected]>
Some of the nightly wheels have also failed to upload similar to the failures that we found on the latest PR from @jorisvandenbossche : |
Quick comments as I'm in transit (sorry):
c.f. https://github.com/scientific-python/upload-nightly-action/blob/b3d150d89b9500cd5623f211d6214f1d8b50fac5/action.yml#L21-L24 and https://github.com/scientific-python/upload-nightly-action/blob/b3d150d89b9500cd5623f211d6214f1d8b50fac5/cmd.sh#L44-L53
|
…fic-python nightly channel (only wheels)
Opened a PR to remove the sdist uploading: #43943 |
…thon nightly channel (only wheels) (#43943) ### Rationale for this change See #40216 (comment) for context. It might be expected that the channel only holds wheels, to users (downstream projects' CI) would accidentally try build from the sdist (e.g. when a wheel is missing). * GitHub Issue: #40216 Authored-by: Joris Van den Bossche <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
Issue resolved by pull request 43943 |
With the latest changes I've closed the issue as done. Please re-open or open a new issue if any follow up is necessary. |
… to scientific python channel on Anaconda (apache#43862) ### Rationale for this change As discussed on the main issue is interesting for discoverability to have the wheels uploaded to the nightly channel. ### What changes are included in this PR? Added macro to upload wheel to scientific python channel ### Are these changes tested? Via archery ### Are there any user-facing changes? No but nightly wheels will be available on scientific python channel * GitHub Issue: apache#40216 Authored-by: Raúl Cumplido <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
… label of scientific-python-nightly-wheels channel (apache#43932) ### Rationale for this change Small follow-up on apache#43862, correcting the `label` being used to upload the wheels. See apache#40216 (comment) for context. * GitHub Issue: apache#40216 Authored-by: Joris Van den Bossche <[email protected]> Signed-off-by: Joris Van den Bossche <[email protected]>
…fic-python nightly channel (only wheels) (apache#43943) ### Rationale for this change See apache#40216 (comment) for context. It might be expected that the channel only holds wheels, to users (downstream projects' CI) would accidentally try build from the sdist (e.g. when a wheel is missing). * GitHub Issue: apache#40216 Authored-by: Joris Van den Bossche <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
… to scientific python channel on Anaconda (apache#43862) ### Rationale for this change As discussed on the main issue is interesting for discoverability to have the wheels uploaded to the nightly channel. ### What changes are included in this PR? Added macro to upload wheel to scientific python channel ### Are these changes tested? Via archery ### Are there any user-facing changes? No but nightly wheels will be available on scientific python channel * GitHub Issue: apache#40216 Authored-by: Raúl Cumplido <[email protected]> Signed-off-by: Jacob Wujciak-Jens <[email protected]>
… label of scientific-python-nightly-wheels channel (apache#43932) ### Rationale for this change Small follow-up on apache#43862, correcting the `label` being used to upload the wheels. See apache#40216 (comment) for context. * GitHub Issue: apache#40216 Authored-by: Joris Van den Bossche <[email protected]> Signed-off-by: Joris Van den Bossche <[email protected]>
…fic-python nightly channel (only wheels) (apache#43943) ### Rationale for this change See apache#40216 (comment) for context. It might be expected that the channel only holds wheels, to users (downstream projects' CI) would accidentally try build from the sdist (e.g. when a wheel is missing). * GitHub Issue: apache#40216 Authored-by: Joris Van den Bossche <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
There are no longer any Windows wheels up at https://pypi.anaconda.org/scientific-python-nightly-wheels/simple/pyarrow/ , is this intentional? At least I think there used to be Windows wheels |
Looks like the windows nightly builds have failed for a few days and the channel is removing old files? |
Yeah I know there is some removal policy, I thought it was a month but I could be wrong (and it might also be per-project configurable, not sure!). A few days seems like too short a removal period in any case. |
It is 30 days (c.f. https://github.com/scientific-python/upload-nightly-action/blob/07ba11e3fcd43a475f9f56a9b06555aa2c621136/.github/workflows/remove-wheels.yml#L61-L66)
Currently, no. There is a "never delete anything" option, but the only project that had a good use case for that no longer needs it. |
From my understanding there is still a max number of wheels allowed too, right? Taking into account all our different wheels (macos arm + x86_64, manylinux_2014 and manylinux_2_28 both for arm + x86_64 for Python versions from 3.9 to 3.13) we get about ~6 days of wheels. See the oldest ones here: https://anaconda.org/scientific-python-nightly-wheels/pyarrow/files?page=4 |
We don't impose a maximum number of artifacts. If any project takes up too much total storage we would look into how to reduce it, but the automatic removal workflow is meant to avoid this and also have "nightly" mean something relatively recent.
I assume (don't have time to check) you're just seeing that we also keep only the last 5 uploads by default: again, focusing on "nightly". |
Our nightly Windows wheel builds are broken recently. (They will be fixed by #45442.) Is it related? |
If I understand correctly that snippet on the GH actions if we upload a single wheel with a newer version, all wheels that have an older than 5 versions will be removed. That seems to match what we are seeing, we are still uploading newer wheels but the Windows wheels stopped to be uploaded 15 days ago due to CI failures.
Yes, it will be fixed today but it's more to understand when are those removed as this is the second time that something like this happens. |
@raulcd Yes. Within 24 hours of an upload the CI will trim it down to 5 versions max (so you can have more than up there for a brief period). I see that PR #45442 has been merged now (👍). Let us know if in the next automated upload the Windows wheels aren't restored. |
Describe the enhancement requested
It looks like you already build nightly Python wheels:
Would you be interested/willing to upload nightly wheels to he scientific-python nightly channel instead:
This would make the wheels easier to discover by hosting them in a "standard" place. It will also make it easier for downstream projects to test against multiple packages, since they won't need to specify multiple locations in their CI scripts.
You can read more about why and how we are building / testing against nightly wheels here:
https://scientific-python.org/specs/spec-0004/
We also provide a GitHub action to upload and manage nightly builds:
https://github.com/scientific-python/upload-nightly-action/
We @matthewfeickert, @larsoner, @tupui are happy to help.
Component(s)
Python
Linked PRs
The text was updated successfully, but these errors were encountered: