Add Makefile target and script to update developer environment lock files#2208
Conversation
A script is used to do the updating, which should be reasonably portable. Pre-commit hooks are updated at the same time so this covers all the developer dependencies.
We can now do this without reliance on GitHub.
This ensures we are using the same code everywhere.
David Flack (daflack)
left a comment
There was a problem hiding this comment.
LGTM. Really like this addition from an accessibility perspective as a "science developer" as limits potential confusion of branches of branches for those not as used to github. It feels a lot cleaner, and easier to update, if a new dependency is added.
My one thought is what happens if someone wants to add a dependency (say tomorrow) and there is a known upgrade that impacts us - e.g. the matplotlib one) are there ways to restrict the updates, or send a message round to those that have to do this, or are we expecting this to be picked up in review?
|
There is not a direct way, however we can pin the dependency in Ideally our tests would pick up a broken dependency; the area we are weak on is our plotting, as we don't actually look at the plots produced, only that something is produces. I've got some ideas to improve this, but they need a little bit more thinking about first. Once this set of PRs is merged I'll do an example pinning back matplotlib, now I've figured out what the issue is in #2205. |
David Flack (daflack)
left a comment
There was a problem hiding this comment.
Happy with response; happy to approve.
This makes it possible to update these without relying on GitHub Actions. Additionally a marker file is now created indicating when the lock files were last generated, as a prerequisite for #2207.
Contribution checklist
Aim to have all relevant checks ticked off before merging. See the developer's guide for more detail.
rose-suite.conf.examplehas been updated if new diagnostic added.