From c8ceddfe77e0ed96c45d33a2ec54f8c932957bf8 Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Fri, 6 Mar 2020 14:03:13 +0000 Subject: [PATCH] Tidying, add samtools and trim_galore --- .github/workflows/docker.yml | 25 ++++++++++++++++--------- tools/fastqc/Dockerfile | 1 + tools/samtools/Dockerfile | 8 ++++++++ tools/samtools/environment.yml | 9 +++++++++ tools/trim_galore/Dockerfile | 8 ++++++++ tools/trim_galore/environment.yml | 9 +++++++++ 6 files changed, 51 insertions(+), 9 deletions(-) create mode 100644 tools/samtools/Dockerfile create mode 100644 tools/samtools/environment.yml create mode 100644 tools/trim_galore/Dockerfile create mode 100644 tools/trim_galore/environment.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f630898a..c4a39fe1 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -20,26 +20,33 @@ jobs: # Annoyingly, matrix can't take dynamic variables - name: Find changed tools run: | - TOOLS=$( git diff --name-only HEAD~ | egrep -o 'tools\/[^\/]+\/' | sort | uniq | awk NF ) - echo "Tools that appear to have been updated:" - echo $TOOLS + TOOLS=$( git diff --name-only HEAD~ | egrep -o 'tools\/[^\/]+\/' | sort | uniq | awk NF | tr '\r\n' ' ' ) # Save so that GitHub Actions can see this variable in the next step echo "::set-env name=TOOLS::$TOOLS" + echo "Tools that appear to have been updated:" + echo $TOOLS + - name: Build images run: | - echo "Running the docker build" - echo $TOOLS + echo "Tools that appear to have been updated:" + echo -e $TOOLS + echo '-----' + for TOOL in $TOOLS; do + echo $TOOL + done; + echo '-----' for d in tools/*; do - echo "In directory $d" for TOOL in $TOOLS; do - echo "Tool is $TOOL" + echo "$d -- $TOOL" if echo $d/ | grep -q "$TOOL"; then cd "$GITHUB_WORKSPACE/$d" TOOLNAME=$(basename `pwd`) - IMGNAME=docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${TOOLNAME,,}:$GITHUB_SHA + # IMGNAME=docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${TOOLNAME,,}:$GITHUB_SHA + # TODO: How do we have a proper version tag here? + IMGNAME=docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${TOOLNAME,,}:latest echo "Image name is: $IMGNAME" - docker login -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com + echo "${{ secrets.GITHUB_TOKEN }}" | docker login -u ${{ github.actor }} --password-stdin docker.pkg.github.com docker build -t $IMGNAME . docker push $IMGNAME fi; diff --git a/tools/fastqc/Dockerfile b/tools/fastqc/Dockerfile index 6428b03e..a6f4f8ce 100644 --- a/tools/fastqc/Dockerfile +++ b/tools/fastqc/Dockerfile @@ -2,6 +2,7 @@ FROM nfcore/base:1.7 LABEL authors="phil.ewels@scilifelab.se" \ description="Docker image for nf-core modules fastqc" +# foobar COPY environment.yml / RUN conda env create -f /environment.yml && conda clean -a ENV PATH /opt/conda/envs/nf-core-modules-fastqc/bin:$PATH diff --git a/tools/samtools/Dockerfile b/tools/samtools/Dockerfile new file mode 100644 index 00000000..3d5cf586 --- /dev/null +++ b/tools/samtools/Dockerfile @@ -0,0 +1,8 @@ +FROM nfcore/base:1.7 +LABEL authors="phil.ewels@scilifelab.se" \ + description="Docker image for nf-core modules samtools" + +# foobar +COPY environment.yml / +RUN conda env create -f /environment.yml && conda clean -a +ENV PATH /opt/conda/envs/nf-core-modules-samtools/bin:$PATH diff --git a/tools/samtools/environment.yml b/tools/samtools/environment.yml new file mode 100644 index 00000000..1a909c80 --- /dev/null +++ b/tools/samtools/environment.yml @@ -0,0 +1,9 @@ +# You can use this file to create a conda environment for this pipeline: +# conda env create -f environment.yml +name: nf-core-modules-samtools +channels: + - conda-forge + - bioconda + - defaults +dependencies: + - samtools=1.9 diff --git a/tools/trim_galore/Dockerfile b/tools/trim_galore/Dockerfile new file mode 100644 index 00000000..56f75baa --- /dev/null +++ b/tools/trim_galore/Dockerfile @@ -0,0 +1,8 @@ +FROM nfcore/base:1.7 +LABEL authors="phil.ewels@scilifelab.se" \ + description="Docker image for nf-core modules trimgalore" + +# foobar +COPY environment.yml / +RUN conda env create -f /environment.yml && conda clean -a +ENV PATH /opt/conda/envs/nf-core-modules-trimgalore/bin:$PATH diff --git a/tools/trim_galore/environment.yml b/tools/trim_galore/environment.yml new file mode 100644 index 00000000..f2a1f047 --- /dev/null +++ b/tools/trim_galore/environment.yml @@ -0,0 +1,9 @@ +# You can use this file to create a conda environment for this pipeline: +# conda env create -f environment.yml +name: nf-core-modules-trimgalore +channels: + - conda-forge + - bioconda + - defaults +dependencies: + - trim-galore=0.6.4