-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove upper pins on spacetelescope projects #7480
remove upper pins on spacetelescope projects #7480
Conversation
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #7480 +/- ##
=======================================
Coverage 77.60% 77.60%
=======================================
Files 452 452
Lines 36087 36087
=======================================
Hits 28005 28005
Misses 8082 8082
*This pull request uses carry forward flags. Click here to find out more. Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
Is this going to create issues to external users the next time e.g. stcal releases incompatible changes? Or is this meant to be temporary while we are testing and developing and then pinning again before the next release? |
Thanks! This should unblock the development on stdatamodels by allowing the CI there to test against the development version of jwst and stdatamodels (which has a version above the upper pin that is removed in this PR). For more context see the stpipe PR (stpipe was checking the jwst version requirements at runtime which made a forced install of incompatible dependencies not possible): spacetelescope/stpipe#84 |
Adding upper pins to dependencies for libraries causes all sorts of issues downstream and causes all sorts of unintended consequences, see https://iscinumpy.dev/post/bound-version-constraints/ for a better analysis than I can give. In general, it is up to external users to manage their dependencies not us. In particular, downstream packages to JWST should in fact be testing regularly against the development version of JWST. As for individual users, we should give clear guidance on to how to update their environments. Namely, |
I only quickly skimmed that link and I agree with what it says. I'm not sure it fully applies for the jwst package, since it's not exactly a library. We could go over them and discuss them again if you htink it's necessary. OTH, I think it's OK to unpin while in development unless there's something that needs to be avoid in a specific dependency version. |
My impression is that with pinned dependencies in jwst we have had fewer help calls or issues to resolve (the current testing one being the only one, actually) than with unpinned dependencies. Others should correct me on this one if I'm wrong. |
Given that our release style guilde https://github.com/spacetelescope/style-guides/blob/master/guides/release-workflow.md calls for releases to occur from their own distinct branches, I think it a reasonable compromise for JWST would be to pin dependencies only on these release branches only. This would limit help calls in the same way the current pins do, while making it much simpler to do development (running CI) across multiple packages, which is something that is often required for JWST. This would fix both issues at the expense of making the release process slightly more complicated (CI checks and automations could limit these issues). |
That's a good idea, we could definitely incorporate that into the process (and also consistently release from dedicated branches) |
1292c1c
to
9f98b41
Compare
This PR addresses issues with testing that arise from upper pins on dependencies.
Checklist for maintainers
CHANGES.rst
within the relevant release sectionHow to run regression tests on a PR