CI: add scheduled testing against nightlies #2376
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rationale
This PR removes
shapely-dev
from the CI test matrix and instead introduces monthly testing against the Shapely, SciPy and Matplotlib nightly builds (note Numpy and ContourPy nightlies are automatically pulled in with Matplotlib).The guidance from Scientific Python recommends a weekly job for this. At #2371 (comment), @greglucas suggested a monthly job. I also lean towards monthly just because Cartopy doesn't have a lot of resource so with a more frequent run we probably would end up closing lots of duplicate issues that we didn't get around to looking at yet. The choice of 10th of the month is pretty arbitrary but it seems good to move it away from the beginning of the month so we aren't bothered by it on New Year's Day! I also added a
workflow-dispatch
trigger so we can run it if and when we have any reason to worry about recent updates in any package.For the approach I roughly followed Matplotlib's workflow. It feels a little excessive to run the whole matrix but I couldn't find a neat way to restrict it for just these workflow triggers. I took the command to install the nightlies from the Scientific Python page. It's a little different from what Matplotlib does, and what's recommended in Matplotlib's installation documentation but I don't know the reason for the difference or how to choose between them.
Implications