Automated testing of third party packages against the latest matplotlib currently requires installing from source which takes quite a while.
Proposed solution
Add a github action (with cibuildwheel maybe?) that builds the latest matplotlib on one or a few OSes x python versions. Somethign like:
Python 3.8 and 3.9 on latest ubuntu
These wheels should then be uploaded to a consistent place (maybe somewhere on maptlotlib.org?) with a clear naming scheme so it's easy to install then from a scheduled github action.
( following https://docs.github.com/en/rest/reference/actions) and from there it should be possible to install the correct version. The only issue is then that the download is pretty large (284 MB!).
So an amended version of this request is to upload two artifacts from that workflow:
The current wheels as is
A subset of the wheels (e.g. Ubuntu, x86_64, CPython) named something like CI-test-wheels
Use the anaconda-client CLI API to upload the subset of all the wheels that are x86_64.manylinux wheels, given
A subset of the wheels (e.g. Ubuntu, x86_64, CPython) named something like CI-test-wheels
, to the scipy-wheels-nightly Anaconda Cloud organization as nightlies. This gets all the way up to the actual upload and then fails as the value of ANACONDA_ORG_UPLOAD_TOKEN that I currently have in my fork's repo secrets is just "FAKETOKEN" as I'm not a maintainer.
Example:
So to my mind this is working and as it doesn't need to build anything it is pretty fast too. 👍
@tacaswell, @QuLogic, @jklymak, @greglucas, @ianhi if this approach sounds good to you I can PR (though I should also add docs given #21637 (comment)). It looks like the other projects in the scipy-wheels-nightly Anaconda Cloud organization are uploading all of their wheels though, so if you'd like me to have this also upload all of the wheels instead of just the x86_64.manylinux I can certainly do that.
Activity
tacaswell commented on Nov 15, 2021
I think we build them already (https://github.com/matplotlib/matplotlib/actions/workflows/cibuildwheel.yml) on every merge to main and 3.5.x, but do not upload them anyplace yet.
ianhi commented on Nov 15, 2021
oooooh - Thats almost perfect!
You can get a list of them with:
( following https://docs.github.com/en/rest/reference/actions) and from there it should be possible to install the correct version. The only issue is then that the download is pretty large (284 MB!).
So an amended version of this request is to upload two artifacts from that workflow:
matthewfeickert commented on Mar 30, 2022
Coming here from #21637 (comment), I have a branch on my fork that, inspired by h5py (c.f. #21637 (comment)), adds a GitHub action workflow that is able to:
, to the scipy-wheels-nightly Anaconda Cloud organization as nightlies. This gets all the way up to the actual upload and then fails as the value of ANACONDA_ORG_UPLOAD_TOKEN that I currently have in my fork's repo secrets is just "FAKETOKEN" as I'm not a maintainer.
Example:
So to my mind this is working and as it doesn't need to build anything it is pretty fast too. 👍
@tacaswell, @QuLogic, @jklymak, @greglucas, @ianhi if this approach sounds good to you I can PR (though I should also add docs given #21637 (comment)). It looks like the other projects in the scipy-wheels-nightly Anaconda Cloud organization are uploading all of their wheels though, so if you'd like me to have this also upload all of the wheels instead of just the x86_64.manylinux I can certainly do that.