Skip to content

Uploading nightly wheels (for testing and better cross-project integration) #362

Closed

Description

@jarrodmillman

Would you be interested/willing to upload nightly wheels to:
https://anaconda.org/scientific-python-nightly-wheels/

It would also be great if you would testing against nightly wheels that you depend on (i.e., numpy).

You can read more about why and how we are building / testing against nightly wheels here:
https://scientific-python.org/specs/spec-0004/

We provide a GitHub action to upload nightly builds to the scientific-python nightly channel:
https://github.com/scientific-python/upload-nightly-action/

We @matthewfeickert, @larsoner, @tupui are happy to help.

Activity

  1. ianthomas23 commented on Feb 24, 2024

    @ianthomas23
    Member

    Yes. It has been on my todo list for a while but I have been waiting for clarity on which packages should and shouldn't be involved. I will take a look and reach out if I need any help.

    ContourPy already tests against nightly wheels (#280).

  2. matthewfeickert commented on Feb 25, 2024

    @matthewfeickert
    Contributor

    @ianthomas23 Good news, we have the approval (scientific-python/upload-nightly-action#30 (comment), scientific-python/upload-nightly-action#30 (comment)) to add contourpy to the nightly wheels Anaconda Cloud org https://anaconda.org/scientific-python-nightly-wheels/ !

    To get started on this please do the following:

    Steps to gain upload access to https://anaconda.org/scientific-python-nightly-wheels/

    ANACONDA_ORG_UPLOAD_TOKEN* [x] Create an account on Anaconda Cloud

    image

    If you'd also like to use the scientific/upload-nightly-action GitHub Action please check out the action repo's README. If you need to collect wheels from different CI jobs, consider creating a new GitHub Actions workflow with logic similar to matplotlib's or Awkward's.

    If you have any questions please just ask here!

  3. ianthomas23 commented on Feb 25, 2024

    @ianthomas23
    Member

    @matthewfeickert: I've added the ANACONDA_ORG_UPLOAD_TOKEN as requested. Wheels built today are available at the end of github action run https://github.com/contourpy/contourpy/actions/runs/8039781537, the direct link to the artifact is https://github.com/contourpy/contourpy/actions/runs/8039781537/artifacts/1273387577. I've given you read-only access to this repo as otherwise I don't think you can download the artifacts.

    This isn't a busy repo so initially I've opted for a scheduled build of the wheels once a week, but I can also do so manually if there is a lot of activity. I'll add use of the upload-nightly-action when the receiving end is fully set up.

    I've separated out the built sdist into its own artifact rather than being in the wheels artifact to avoid ever uploading the sdist to the nightly wheels channel as it is quite big and I presume not required.

    The wheel tags are currently 1.2.1.dev1 and do not vary with the git commit hash. Is this going to cause a problem? I've read some discussion about this for awkward but I am not sure what the outcome was.

  4. matthewfeickert commented on Feb 25, 2024

    @matthewfeickert
    Contributor

    I've added the ANACONDA_ORG_UPLOAD_TOKEN as requested. Wheels built today are available at the end of github action run https://github.com/contourpy/contourpy/actions/runs/8039781537, the direct link to the artifact is https://github.com/contourpy/contourpy/actions/runs/8039781537/artifacts/1273387577. I've given you read-only access to this repo as otherwise I don't think you can download the artifacts.

    @ianthomas23 Great! I've got the package up now at https://anaconda.org/scientific-python-nightly-wheels/contourpy so you can remove my repo permissions.

    This isn't a busy repo so initially I've opted for a scheduled build of the wheels once a week, but I can also do so manually if there is a lot of activity. I'll add use of the upload-nightly-action when the receiving end is fully set up.

    Sounds good. If you have any upload infrastructure setup can you manually trigger a run so that we check that everything is in working order? If you have any questions about the upload-nightly-action just let me know.

    I've separated out the built sdist into its own artifact rather than being in the wheels artifact to avoid ever uploading the sdist to the nightly wheels channel as it is quite big and I presume not required.

    Thanks and correct — just the wheels are of interest here.

    The wheel tags are currently 1.2.1.dev1 and do not vary with the git commit hash. Is this going to cause a problem? I've read some discussion about this for awkward but I am not sure what the outcome was.

    Thanks for asking, but that's fine! We and Anacond Cloud can handle this. The issue was just in the circumstance where there was a single wheel that was getting reuploaded and overwritten, but that's also been fixed, so all uploads should be fine now.

  5. ianthomas23 commented on Feb 27, 2024

    @ianthomas23
    Member

    I've manually triggered a workflow run that builds and uploads the wheels (https://github.com/contourpy/contourpy/actions/runs/8062140403/job/22023379677). It all seems to be working to me. I think that means this is complete now.

    I'll keep an eye on it. If anyone needs to contact me about it they can do so here, and I am also lurking on the Scientific Python Discord as well.

  6. matthewfeickert commented on Feb 27, 2024

    @matthewfeickert
    Contributor

    It all seems to be working to me. I think that means this is complete now.

    Yup! You're good to go now. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions