Use Conda lock files
Nobody has claimed this yet.
- #5827 by @edmundmiller — closed without merging
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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