An open API service indexing awesome lists of open source software.

https://github.com/biocontainers/auto-mulled

Generating Docker containers from bioconda on the fly with Travis cron-job feature.
https://github.com/biocontainers/auto-mulled

Last synced: 7 months ago
JSON representation

Generating Docker containers from bioconda on the fly with Travis cron-job feature.

Awesome Lists containing this project

README

          

# Automatic build of linux containers

The aim of this project is to utilize [mulled](https://github.com/mulled/mulled) and with this [involucro](https://github.com/involucro/involucro) in an automatic way. Every new package in
bioconda is build and packaged into a Linux Container (Docker, rkt) and available from [quay.io](https://quay.io/organization/biocontainers).

We have developed small utilities around this technology stack which is currently included in [`galaxy-lib`](https://github.com/galaxyproject/galaxy-lib). Here is a short introduction:

## Search for containers

```sh
mulled-search -s deeptools -o biocontainers
```

## Build all packages from bioconda from the last 24h

```sh
mulled-build-channel --channel bioconda --namespace biocontainers \
--involucro-path ./involucro --recipes-dir ./bioconda-recipes --diff-hours 25 build
```

## Test all packages from bioconda from the last 24h

> tests will be extracted from the `recipes-dir` - we need to improve it, if you have time get in touch with me :)

```sh
mulled-build-channel --channel bioconda --namespace biocontainers \
--involucro-path ./involucro --recipes-dir ./bioconda-recipes --diff-hours 25 build
```

## Building Docker containers for local Conda packages

> we modified the samtools package to version 3.0 to make clear we are using a local version

1. build your recipe

```sh
conda build recipes/samtools
```

2. index your local builds

```sh
conda index /home/bag/miniconda2/conda-bld/linux-64/
```

3. build a container for your local package

```sh
mulled-build build-and-test 'samtools=3.0--0' \
--extra-channel file://home/bag/miniconda2/conda-bld/ --test 'samtools --help'
```
 The `--0` indicates the build version of the conda package. It is recommended to specify this number otherwise
 you will override already exsisting images. For python conda packages this extension might look like this `--py35_1`.

## Build, test and push a conda-forge package to biocontainers

> You need to have write access to the biocontainers repository

```sh
mulled-build build-and-test 'pandoc=1.17.2--0' --test 'pandoc --help' -n biocontainers
```
```sh
mulled-build push 'pandoc=1.17.2--0' --test 'pandoc --help' -n biocontainers
```

ToDo:
-----

* all bioconda precompiled conda-packages are mirrored to the Galaxy depot
* extend this concept for conda-forge