MDAnalysis / cookiecutter-mdakit

Cookiecutter for Python packages based on MDAnalysis
MIT License
7 stars 5 forks source link

Don't run CI on mdanalysis latest + latest python #93

Closed IAlibay closed 11 months ago

IAlibay commented 11 months ago

Fixes #92 (I think)

This might need some discussion.

Currently CI will run all the versions that the develop version of MDAnalysis will support.

This will cause failures when it attempts to run a brand new version of Python that the last release of MDA doesn't support (for example Python 3.12 + MDAnalysis 2.6.1).

There are two options I can see out of this:

  1. We just don't run the latest version of Python against the last release of MDAnalysis - this fix does this.
  2. We split up the test step into two, a latest & development step. On the latest step we take the output of mdanalysis-compatible-python with the latest version of MDA, and the development the same python matrix as what we call currently.
    • Note: This will need a bit of work to grab out the latest version of MDA, it's not the end of the world but I'm unlikely to have much time to do this in the next couple of days given work requirements (indeed this is the last thing I can do today since I have to go back to my day job).

In all cases we're going to have to go to the MDAnalysis cookie-cutter using repos and fix this workflow, because right now all their CI is failing.

PR Checklist

lilyminium commented 11 months ago

In all cases we're going to have to go to the MDAnalysis cookie-cutter using repos and fix this workflow, because right now all their CI is failing.

Yeah this is going to be a hassle now and in the future -- when there's time I'd like to look into a bot or similar that can keep watch on changes to the cookiecutter and maybe open PRs with cherry-picked changes when we update cookie-related things.

IAlibay commented 11 months ago

In all cases we're going to have to go to the MDAnalysis cookie-cutter using repos and fix this workflow, because right now all their CI is failing.

A long term solution here is great, and I'm happy to have that discussion - indeed there is lots we can do.

However, the intent of that comment was "who takes responsibility for dealing with this today".

I don't want to spend time cycling on this too much, so I've already added the short term fix to PRs to transport-analysis, waterdynamics, pathsimsanalysis and mdaencore.

@ianmkenney @orbeckst @fiona-naughton @lilyminium If there are any other MDAKits that you know need updating, please either chime in here with the list of mdakits or spread the fix around.

IAlibay commented 11 months ago

However I think I prefer your Option 2 that you outlined there, so that we can keep testing develop with the newest and greatest. Unless I'm missing something, I don't see many downsides aside from additional CI complexity (maybe a slightly larger matrix?)

This is to be discussed elsewhere, but the current environment.yaml strategy won't work because it will always include MDAnalysis within it, so it won't work unless MDA is on conda-forge already. There are options I can think of but they aren't super user friendly / easy to fix. Very likely I'm missing something obvious though.

Honestly my long term opinion here is that, if we want to build our user community, we should, like numpy and scipy, take on the responsibility of having a Python 3.12 release as soon as possible. However that's a core library time & efforts allocation issue.

orbeckst commented 11 months ago

Sounds like a good insight, born from experience.

Do we have a document with our maintenance aspirations? At least internally we should have an idea what our goals are.

lilyminium commented 11 months ago

I don't think we've written down maintenance aspirations in that way before, although of course @IAlibay would know better here. There is a related maintenance SDG application but it focuses more on dev docs and CI/CD utilities.

Not to cut the discussion short, but I might merge this PR given the approvals just we can get CI back for now!

lilyminium commented 11 months ago

Thank you again @IAlibay for the fix!