Opened 10 years ago
Closed 5 years ago
#903 closed enhancement (no-action)
Pin dependency versions
Reported by: | warp | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | programming | Keywords: | |
Cc: | berkerpeksag | Parent Tickets: |
Description
As this discussed in the meeting today (2014-06-07), dependency versions should be pinned.
For all dependencies which adhere to http://semver.org/ only the MAJOR and MINOR version should be pinned, never the PATCH version. If a particular release of mediagoblin is known to work with a wider range of versions, pinning to a wide range is better.
Versions should be pinned in requirements.txt, which is convenient for users deploying using pip and virtualenv. Leave the versions in setup.py unpinned (except for minimum versions where necessary).
Verify requirements.txt for each release, and update it if necessary.
Change History (5)
comment:1 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | new → in_progress |
comment:2 by , 10 years ago
Cc: | added |
---|
comment:3 by , 10 years ago
Milestone: | 0.7.0 → 0.8.0 |
---|
comment:4 by , 10 years ago
Milestone: | 0.8.0 |
---|
comment:5 by , 5 years ago
Owner: | removed |
---|---|
Resolution: | → noaction |
Status: | in_progress → closed |
The approach I took in the 0.10.0 release was to loosely pin any dependencies only if they were causing errors (eg. celery>=3.0,<4.3.0).
Because new versions of packages are dropping Python 2 support all over the place, we also temporarily pinned an upper limit on Python 2 dependencies for this final Python 2 release (eg. PasteDeploy<=2.1.999). See #5595.
I think we're doing enough here for now, so I'm closing this ticket, but I'd be interested in your feedback.
I think the real game-changer will be continuous integration testing of the installation process and test suite in #5574. With this, we can explicitly test a set of operating systems and versions. This allows us to pin with maximum flexibility, but find out as soon as that approach breaks.
We aren't going to get this in on time... moving to 0.8.0.