uw-ipd / tmol

TMol
Apache License 2.0
31 stars 3 forks source link

Pin dependencies, fix tests, disable doc/support test components. #226

Closed asford closed 4 years ago

asford commented 4 years ago

Conda-based dependencies are great, however soft-pinning version numbers leaves the repo vulnerable to breaking changes to updated releases of external packages. Roughly put the house-in-order for dependency management by converting all dependencies to conda packages and generate lockfiles specifying specific target versions of all dependencies. Execute both dev and test environment setup from lockfiles, rather than allowing conda to resolve dependencies.

Updates to external packages are now performed via environments/render, which re-renders soft package lists for each environment (run/test/dev) and re-solves these environments into a explicit package list via conda-lock. Add mamba as a dev env requirement for fast solves of the package list. Noting some cases where mamba arrives at a solve-solution though base conda does not, this is likely due to mamba not supporting track_features, see https://github.com/TheSnakePit/mamba/issues/336.

Pin an additional set of versions, primarily around test packages, needed to get tests running again due to multiple breaking pytest version updates in the last year-and-change.

Fixup test docker image to install environment from package lock.

Temporarily disable the doc builds.

Temporarily remove pyrosetta-based "support" layer.