nf-core / nf-core/modules

Use Conda lock files

Open
#5,835 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

  • #5827 by @edmundmiller — closed without merging
enhancement
Dominant language
Nextflow
Stars
429
Forks
1.1k
Avg merge
1d 6h
Merged PRs (30d)
153

Description

Conda environment.yml files are convenient and easy to use, but do not confer a high degree of reproducibility. Because lower level dependencies are not pinned, the exact build produced can change over time.

To address this without losing the ease of use of environment.yml files, several community projects have emerged to create "lock files", comparable to the Javascript npm community which has package.json and package-lock.json. The most popular for conda is conda-lock.

We should automatically generate conda lock files and store them in git for modules, alongside the conda environment.yml files. We should have CI to regenerate these whenever there is an edit to environment.yml.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the modules' existing conda environment.yml files and the conda-lock project documentation first. Add generated lock files alongside each environment.yml, then configure CI to regenerate them when an environment.yml changes; done means the lock files are stored in git and CI covers updates.

Written by the indexing model from the issue text.

Assessment

Tech stack
yaml
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.