kraemer-lab / GRAPEVNE

Graphical Analytical Pipeline Development Evironment
MIT License
6 stars 3 forks source link

[BUG]: End-to-end tests are failing due to a `snakemake` install issue #184

Closed jsbrittain closed 8 months ago

jsbrittain commented 8 months ago

Describe the bug Recent end-to-end tests are failing due to the following error when building docker containers:

#15 0.334 Traceback (most recent call last):
#15 0.334   File "/opt/conda/bin/snakemake", line 8, in <module>
#15 0.334     sys.exit(main())
#15 0.334   File "/opt/conda/lib/python3.10/site-packages/snakemake/__init__.py", line 2738, in main
#15 0.334     parser = get_argument_parser()
#15 0.334   File "/opt/conda/lib/python3.10/site-packages/snakemake/__init__.py", line 1609, in get_argument_parser
#15 0.334     lp_solvers = pulp.list_solvers(onlyAvailable=True)
#15 0.334 AttributeError: module 'pulp' has no attribute 'list_solvers'. Did you mean: 'listSolvers'?

This appears to be due to snakemake not restricting version numbers for its dependencies during install, as reported in this issue: https://github.com/snakemake/snakemake/issues/ 1989

To Reproduce Steps to reproduce the behavior:

Run end-to-end tests on any PR.

Environment (please complete the following information):

e2e tests locally and on github

Additional context The solution should come from upstream as this is a snakemake installation issue. The problem has been reported on their repo. A workaround (if required) is to uninstall pulp and install an older version 2.5.1 seems to work with our Dockerfile's.

Edit: Pinning PuLP to 2.7.0 seems sufficient.