Testing Recipes Locally¶
Queue times on Azure DevOps may sometimes make it more convenient and faster to work on complex packages locally. There are several ways to do so, each with their own caveats.
Whether on a CI node or locally, Bioconda packages are built and tested using
You can install
bioconda-utils locally by creating a new conda environment:
# You can use "conda create" here instead, if you don't have mamba installed mamba create -n bioconda -c conda-forge -c bioconda bioconda-utils conda activate bioconda # optional linting bioconda-utils lint --git-range master # build and test bioconda-utils build --docker --mulled-test --git-range master
The above commands do the following:
Creates a new environment with bioconda-utils.
Activates the new environment. You can later just start at
conda activate bioconda
bioconda-utilsin the new environment:
lintcommand will run the lint checks on your recipes
buildcommand will run the build pipeline
You can select recipes to lint/build using
--git-range master, which which will select those recipes that have been changed between your master and your branch. Or you can specify recipes directly using
--packages mypackage1 mypackage2.
bioconda-utilsto execute the build within a docker container. On MacOS, this will do a Linux build in addition to the local MacOS build.
bioconda-utilsto repeat the recipes test in a clean, freshly created docker container to ensure that the package does not depend on anything that happens to be included in the build container.
If you do not have access to Docker, you can still run the basic test by
Explain how to use
conda debugfor difficult recipes.
Explain how to create patch series.