panoptes icon indicating copy to clipboard operation
panoptes copied to clipboard

Reduce time on tests that run via github actions

Open fgypas opened this issue 3 years ago • 3 comments

Is your feature request related to a problem? Please describe. One of the issues is that tests take quite some time because it requires to run the following workflow https://github.com/panoptes-organization/snakemake_example_workflow that depends on conda.

Describe the solution you'd like One solution would be to install all dependencies via pip and abandon completely conda

Describe alternatives you've considered The alternative solution (if the first is not possible) is to use mamba that is very fast

fgypas avatar Dec 15 '20 19:12 fgypas

What about using a container that already has snakemake installed?

vsoch avatar Dec 15 '20 19:12 vsoch

We anyway use docker-compose to deploy panoptes, so I don't see any reason why not use more containers. https://github.com/panoptes-organization/panoptes/blob/develop/.travis.yml#L20

What takes time is this line: https://github.com/panoptes-organization/panoptes/blob/develop/.travis.yml#L51. What is happening is that for each snakemake rule (https://github.com/panoptes-organization/snakemake_example_workflow/blob/master/Snakefile#L12-L13) we build the dependencies based on conda. Not the main installation of snakemake is the time-consuming step. We could use singularity containers for these steps and run snakemake with --use-singularity.

fgypas avatar Dec 15 '20 19:12 fgypas

In the future I hope that snakemake-wrappers can support containers - I did the start of work to add this https://github.com/snakemake/snakemake-wrappers/pull/153 but I don't think it's a priority for Johannes, which is totally understandable!

vsoch avatar Dec 15 '20 21:12 vsoch