Ubuntu 20.04: Reduce (pinned) dependencies to a minimum
udosson opened this issue · 4 comments
With the upgrade of Indy Plenum to run on Ubuntu 20.04, the dependency management should be improved as well.
An overview of all installed, referenced, and required PyPI packages can be found here: Hyperledger Indy-Plenum | Dependency management Ubuntu 20
- Remove all packages that are not used anymore
- Update all dependencies to the most recent version (if possible)
- Remove as many pinned dependencies as possible
- setup.py in the feature branch
ubuntu-20.04-upgrade
reflects the current state of all required PyPI packages (install_requires & test_require)
It was a long time ago but as far as I remember:
- We unpinned dependencies that didn't require code changes
- We didn't optimize them because there wasn't working CI to make sure changes are good
I thought we had another issue capturing this work, but I can't find it.
My memory of our plan from a few months ago:
- First prepare CI / CD to generate separate artifacts for Ubuntu 16.04 and Ubuntu 20.04 from the same Indy Node release.
- Then prepare a list of minimal dependencies for both Ubuntu 16.04 and Ubuntu 20.04.
- Then upgrade the network to the latest Indy release running on Ubuntu 16.04.
- Then individual validators could upgrade at their convenience to the same release running Ubuntu 20.04.
So we need minimal dependencies on both platforms.
@esplinr that's exactly how I remember the release strategy.
- CI/CD is completed for Ubuntu 16.04.
- CI Ubuntu 20.04: Almost done. All tests pass but Sliced Module Tests (plenum, 3).
- CD Ubuntu 20.04: PR #1545 created. Some dependencies are already removed or updated. @Toktar and @adenishchenko have been working on the dependencies. They should have more information.
Per our discussion during the Indy Contributors call, I'll close this issue as complete.
@anikitinDSR removed a number of the dependencies from the list, but the remaining dependencies all appear to require code changes to use the newest version. We decided against making those code changes within the scope of this release. Upgrading and unpinning the remaining dependencies would be a great project for new contributors.