From 13dba72e5d61be7d7af34b6344cc69ae88739c66 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Tue, 2 Aug 2016 12:02:48 -0700 Subject: [PATCH 01/21] Create test image tags for docker #1536 --- docker/nipype_test_base/Dockerfile | 82 ++++++++++++++++++++++++++++++ docker/nipype_test_py27/Dockerfile | 53 +++++++++++++++++++ docker/nipype_test_py34/Dockerfile | 73 ++++++++++++++++++++++++++ docker/nipype_test_py35/Dockerfile | 73 ++++++++++++++++++++++++++ docker/test-image-base/Dockerfile | 75 ++++++++------------------- 5 files changed, 302 insertions(+), 54 deletions(-) create mode 100644 docker/nipype_test_base/Dockerfile create mode 100644 docker/nipype_test_py27/Dockerfile create mode 100644 docker/nipype_test_py34/Dockerfile create mode 100644 docker/nipype_test_py35/Dockerfile diff --git a/docker/nipype_test_base/Dockerfile b/docker/nipype_test_base/Dockerfile new file mode 100644 index 0000000000..8d940ef2ce --- /dev/null +++ b/docker/nipype_test_base/Dockerfile @@ -0,0 +1,82 @@ +# Copyright (c) 2016, The developers of nipype +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of crn_base nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +FROM neurodebian:latest +MAINTAINER Nipype developers + +# Preparations +RUN ln -snf /bin/bash /bin/sh +ARG DEBIAN_FRONTEND=noninteractive + +RUN sed -i -e 's,main$,main contrib non-free,g' /etc/apt/sources.list.d/neurodebian.sources.list && \ + apt-get -y update && \ + apt-get install -y curl \ + git \ + xvfb \ + bzip2 \ + unzip \ + apt-utils \ + fusefat \ + graphviz \ + fsl-core && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ + echo ". /etc/fsl/fsl.sh" >> /etc/bash.bashrc + +ENV FSLDIR=/usr/share/fsl/5.0 +ENV FSLOUTPUTTYPE=NIFTI_GZ +ENV PATH=/usr/lib/fsl/5.0:$PATH +ENV FSLMULTIFILEQUIT=TRUE +ENV POSSUMDIR=/usr/share/fsl/5.0 +ENV LD_LIBRARY_PATH=/usr/lib/fsl/5.0:$LD_LIBRARY_PATH +ENV FSLTCLSH=/usr/bin/tclsh +ENV FSLWISH=/usr/bin/wish + +# Install Matlab: from the good old install_spm_mcr.sh of @chrisfilo +WORKDIR /opt + +RUN echo "destinationFolder=/opt/mcr" > mcr_options.txt && \ + echo "agreeToLicense=yes" >> mcr_options.txt && \ + echo "outputFile=/tmp/matlabinstall_log" >> mcr_options.txt && \ + echo "mode=silent" >> mcr_options.txt && \ + mkdir -p matlab_installer && \ + curl -sSL http://www.mathworks.com/supportfiles/downloads/R2015a/deployment_files/R2015a/installers/glnxa64/MCR_R2015a_glnxa64_installer.zip \ + -o matlab_installer/installer.zip && \ + unzip matlab_installer/installer.zip -d matlab_installer/ && \ + matlab_installer/install -inputFile mcr_options.txt && \ + rm -rf matlab_installer mcr_options.txt + +ENV SPMMCRCMD "/opt/spm12/run_spm12.sh /opt/mcr/v85/ script" +ENV FORCE_SPMMCR 1 + +# Install SPM +RUN curl -sSL http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/dev/spm12_r6472_Linux_R2015a.zip -o spm12.zip && \ + unzip spm12.zip && \ + rm -rf spm12.zip + +CMD ["/bin/bash"] + diff --git a/docker/nipype_test_py27/Dockerfile b/docker/nipype_test_py27/Dockerfile new file mode 100644 index 0000000000..3b77fea54d --- /dev/null +++ b/docker/nipype_test_py27/Dockerfile @@ -0,0 +1,53 @@ +# Copyright (c) 2016, The developers of nipype +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of crn_base nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +FROM nipype/nipype_test:base +MAINTAINER Stanford Center for Reproducible Neuroscience + +# Preparations +RUN ln -snf /bin/bash /bin/sh +WORKDIR /root + +# Install miniconda +RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh && \ + /bin/bash Miniconda-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \ + rm Miniconda-latest-Linux-x86_64.sh + +ENV PATH /usr/local/miniconda/bin:$PATH + +# http://bugs.python.org/issue19846 +# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. +ENV LANG C.UTF-8 + +# Add conda-forge channel in conda +RUN conda config --add channels conda-forge + +# Create conda environment +RUN conda install -y lockfile nipype + +CMD ["/bin/bash"] diff --git a/docker/nipype_test_py34/Dockerfile b/docker/nipype_test_py34/Dockerfile new file mode 100644 index 0000000000..07fe38281c --- /dev/null +++ b/docker/nipype_test_py34/Dockerfile @@ -0,0 +1,73 @@ +# Copyright (c) 2016, The developers of the Stanford CRN +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of crn_base nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +FROM nipype/testbase:latest +MAINTAINER Stanford Center for Reproducible Neuroscience + +# Preparations +RUN ln -snf /bin/bash /bin/sh +WORKDIR /root + +# Install miniconda +RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh && \ + /bin/bash Miniconda-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \ + rm Miniconda-latest-Linux-x86_64.sh && \ + echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ + echo 'export PATH=/usr/local/miniconda/bin:$PATH' >> /etc/profile.d/nipype.sh + +ENV PATH /usr/local/miniconda/bin:$PATH + +# http://bugs.python.org/issue19846 +# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. +ENV LANG C.UTF-8 + +# Add conda-forge channel in conda +RUN conda config --add channels conda-forge + +# Create conda environment +RUN conda create -y -n nipypetests-2.7 lockfile nipype && \ + echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ + echo '#!/bin/bash' >> /etc/bashrc && \ + echo 'source activate nipypetests-2.7' >> /etc/profile.d/nipype.sh + +# Create conda environment +RUN conda create -y -n nipypetests-3.4 lockfile nipype python=3.4 + +# Create conda environment +RUN conda create -y -n nipypetests-3.5 lockfile nipype python=3.5 + +# Install dipy +RUN source activate nipypetests-2.7 && \ + pip install dipy && \ + source activate nipypetests-3.4 && \ + pip install dipy && \ + source activate nipypetests-3.5 && \ + pip install dipy + +RUN echo "source /etc/profile.d/nipype.sh" >> /etc/bash.bashrc +CMD ["/bin/bash"] diff --git a/docker/nipype_test_py35/Dockerfile b/docker/nipype_test_py35/Dockerfile new file mode 100644 index 0000000000..07fe38281c --- /dev/null +++ b/docker/nipype_test_py35/Dockerfile @@ -0,0 +1,73 @@ +# Copyright (c) 2016, The developers of the Stanford CRN +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# * Neither the name of crn_base nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +FROM nipype/testbase:latest +MAINTAINER Stanford Center for Reproducible Neuroscience + +# Preparations +RUN ln -snf /bin/bash /bin/sh +WORKDIR /root + +# Install miniconda +RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh && \ + /bin/bash Miniconda-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \ + rm Miniconda-latest-Linux-x86_64.sh && \ + echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ + echo 'export PATH=/usr/local/miniconda/bin:$PATH' >> /etc/profile.d/nipype.sh + +ENV PATH /usr/local/miniconda/bin:$PATH + +# http://bugs.python.org/issue19846 +# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. +ENV LANG C.UTF-8 + +# Add conda-forge channel in conda +RUN conda config --add channels conda-forge + +# Create conda environment +RUN conda create -y -n nipypetests-2.7 lockfile nipype && \ + echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ + echo '#!/bin/bash' >> /etc/bashrc && \ + echo 'source activate nipypetests-2.7' >> /etc/profile.d/nipype.sh + +# Create conda environment +RUN conda create -y -n nipypetests-3.4 lockfile nipype python=3.4 + +# Create conda environment +RUN conda create -y -n nipypetests-3.5 lockfile nipype python=3.5 + +# Install dipy +RUN source activate nipypetests-2.7 && \ + pip install dipy && \ + source activate nipypetests-3.4 && \ + pip install dipy && \ + source activate nipypetests-3.5 && \ + pip install dipy + +RUN echo "source /etc/profile.d/nipype.sh" >> /etc/bash.bashrc +CMD ["/bin/bash"] diff --git a/docker/test-image-base/Dockerfile b/docker/test-image-base/Dockerfile index d4a78838f2..8d940ef2ce 100644 --- a/docker/test-image-base/Dockerfile +++ b/docker/test-image-base/Dockerfile @@ -1,4 +1,4 @@ -# Copyright (c) 2016, The developers of the Stanford CRN +# Copyright (c) 2016, The developers of nipype # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -26,68 +26,40 @@ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM ubuntu:vivid -MAINTAINER Stanford Center for Reproducible Neuroscience +FROM neurodebian:latest +MAINTAINER Nipype developers # Preparations RUN ln -snf /bin/bash /bin/sh ARG DEBIAN_FRONTEND=noninteractive -# Update packages and install the minimal set of tools -RUN apt-get update && \ +RUN sed -i -e 's,main$,main contrib non-free,g' /etc/apt/sources.list.d/neurodebian.sources.list && \ + apt-get -y update && \ apt-get install -y curl \ git \ xvfb \ bzip2 \ unzip \ apt-utils \ - gfortran \ fusefat \ - liblapack-dev \ - libblas-dev \ - libatlas-dev \ - libatlas-base-dev \ - libblas3 \ - libblas-common \ - libopenblas-dev \ - libxml2-dev \ - libxslt1-dev \ - libfreetype6-dev \ - libpng12-dev \ - libqhull-dev \ - libxft-dev \ - libjpeg-dev \ - libyaml-dev \ - graphviz + graphviz \ + fsl-core && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ + echo ". /etc/fsl/fsl.sh" >> /etc/bash.bashrc - -# Install ANTs -RUN mkdir -p /opt/ants && \ - curl -sSL "https://2a353b13e8d2d9ac21ce543b7064482f771ce658.googledrive.com/host/0BxI12kyv2olZVFhUcGVpYWF3R3c/ANTs-Linux_Ubuntu14.04.tar.bz2" \ - | tar -xjC /opt/ants --strip-components 1 -ENV ANTSPATH /opt/ants -ENV PATH $ANTSPATH:$PATH - -# Enable neurodebian -RUN curl -sSL http://neuro.debian.net/lists/vivid.de-m.full | tee /etc/apt/sources.list.d/neurodebian.sources.list && \ - curl -sSL http://neuro.debian.net/lists/vivid.us-tn.full >> /etc/apt/sources.list.d/neurodebian.sources.list && \ - apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9 && \ - apt-get update && \ - apt-get install -y fsl-core afni - -RUN echo '#!/bin/bash' > /etc/profile.d/nipype_deps.sh && \ - echo 'export ANTSPATH=/opt/ants' >> /etc/profile.d/nipype_deps.sh && \ - echo 'export PATH=$ANTSPATH:$PATH' >> /etc/profile.d/nipype_deps.sh && \ - echo 'source /etc/fsl/fsl.sh' >> /etc/profile.d/nipype_deps.sh && \ - echo 'source /etc/afni/afni.sh' >> /etc/profile.d/nipype_deps.sh - -# Clear apt cache to reduce image size -RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +ENV FSLDIR=/usr/share/fsl/5.0 +ENV FSLOUTPUTTYPE=NIFTI_GZ +ENV PATH=/usr/lib/fsl/5.0:$PATH +ENV FSLMULTIFILEQUIT=TRUE +ENV POSSUMDIR=/usr/share/fsl/5.0 +ENV LD_LIBRARY_PATH=/usr/lib/fsl/5.0:$LD_LIBRARY_PATH +ENV FSLTCLSH=/usr/bin/tclsh +ENV FSLWISH=/usr/bin/wish # Install Matlab: from the good old install_spm_mcr.sh of @chrisfilo -WORKDIR /root +WORKDIR /opt -RUN echo "destinationFolder=/root/mcr" > mcr_options.txt && \ +RUN echo "destinationFolder=/opt/mcr" > mcr_options.txt && \ echo "agreeToLicense=yes" >> mcr_options.txt && \ echo "outputFile=/tmp/matlabinstall_log" >> mcr_options.txt && \ echo "mode=silent" >> mcr_options.txt && \ @@ -96,12 +68,9 @@ RUN echo "destinationFolder=/root/mcr" > mcr_options.txt && \ -o matlab_installer/installer.zip && \ unzip matlab_installer/installer.zip -d matlab_installer/ && \ matlab_installer/install -inputFile mcr_options.txt && \ - rm -rf matlab_installer mcr_options.txt && \ -# echo 'export LD_LIBRARY_PATH=/root/mcr/v85/runtime/glnxa64:/root/mcr/v85/bin/glnxa64:/root/mcr/v85/sys/os/glnxa64:$LD_LIBRARY_PATH' >> /etc/profile.d/nipype_deps.sh && \ - echo 'export SPMMCRCMD="/root/spm12/run_spm12.sh /root/mcr/v85/ script"' >> /etc/profile.d/nipype_deps.sh && \ - echo 'export FORCE_SPMMCR=1' >> /etc/profile.d/nipype_deps.sh + rm -rf matlab_installer mcr_options.txt -ENV SPMMCRCMD "/root/spm12/run_spm12.sh /root/mcr/v85/ script" +ENV SPMMCRCMD "/opt/spm12/run_spm12.sh /opt/mcr/v85/ script" ENV FORCE_SPMMCR 1 # Install SPM @@ -109,7 +78,5 @@ RUN curl -sSL http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/dev/sp unzip spm12.zip && \ rm -rf spm12.zip -RUN echo "source /etc/profile.d/nipype_deps.sh" >> /etc/bash.bashrc - CMD ["/bin/bash"] From e0709dcce48596c0684f0d97873242cbd8a73ca3 Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 21:08:00 -0700 Subject: [PATCH 02/21] [TST] Docker use tags #1558. Close #1552 --- circle.yml | 33 +++++++++++++++++++----------- docker/circleci/run_builddocs.sh | 4 ---- docker/circleci/run_examples.sh | 4 ---- docker/circleci/run_nosetests.sh | 5 +---- docker/nipype_test_py27/Dockerfile | 19 ++++++++++++----- 5 files changed, 36 insertions(+), 29 deletions(-) diff --git a/circle.yml b/circle.yml index 1c3bf92171..ab21ad7506 100644 --- a/circle.yml +++ b/circle.yml @@ -5,33 +5,42 @@ machine: dependencies: cache_directories: - "~/docker" + - "~/examples" pre: - mkdir -p "~/scratch/nose" override: - if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi - - docker build -t nipype/testbench:latest . : + - docker build -f docker/nipype_test_py27/Dockerfile -t nipype/nipype_test:py27 . : timeout: 1600 - - mkdir -p ~/docker; docker save nipype/testbench:latest > ~/docker/image.tar : + - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 + - if [[ ! -d ~/examples/data ]]; then \ + wget -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && \ + tar jxvf nipype-tutorial.tar.bz2 && \ + mv nipype-tutorial/* ~/examples/; fi + - if [[ ! -d ~/examples/feeds ]]; then \ + wget -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && \ + tar xzf fsl-feeds.tar.gz && \ + mv feeds ~/examples/; fi test: override: - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch --entrypoint="/usr/bin/run_builddocs.sh" nipype/testbench - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench test_spm Linear /root/examples/ workflow3d : + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_builddocs.sh + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench test_spm Linear /root/examples/ workflow4d : + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench fmri_fsl_feeds Linear /root/examples/ l1pipeline - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench fmri_spm_dartel Linear /root/examples/ level1 : + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench fmri_spm_dartel Linear /root/examples/ l2pipeline : + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench fmri_fsl_reuse Linear /root/examples/ level1_workflow - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench fmri_spm_nested Linear /root/examples/ level1 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/testbench fmri_spm_nested Linear /root/examples/ l2pipeline - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch --entrypoint="/usr/bin/run_nosetests.sh" nipype/testbench : + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ level1 + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ l2pipeline + - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_nosetests.sh : timeout: 2600 post: - bash docker/circleci/teardown.sh diff --git a/docker/circleci/run_builddocs.sh b/docker/circleci/run_builddocs.sh index fdd1fcac23..c1bac25b6f 100644 --- a/docker/circleci/run_builddocs.sh +++ b/docker/circleci/run_builddocs.sh @@ -1,8 +1,4 @@ #!/bin/bash -for i in /etc/profile.d/*.sh; do - source $i -done -source activate nipypetests-2.7 mkdir -p /scratch/docs set -o pipefail && cd /root/src/nipype/doc && make html 2>&1 | tee /scratch/builddocs.log diff --git a/docker/circleci/run_examples.sh b/docker/circleci/run_examples.sh index 396cf5677e..978c954485 100644 --- a/docker/circleci/run_examples.sh +++ b/docker/circleci/run_examples.sh @@ -1,7 +1,4 @@ #!/bin/bash -for i in /etc/profile.d/*.sh; do - source $i -done mkdir -p /root/.nipype echo '[logging]' > /root/.nipype/nipype.cfg @@ -9,5 +6,4 @@ echo 'workflow_level = DEBUG' >> /root/.nipype/nipype.cfg echo 'interface_level = DEBUG' >> /root/.nipype/nipype.cfg echo 'filemanip_level = DEBUG' >> /root/.nipype/nipype.cfg -source activate nipypetests-2.7 python /root/src/nipype/tools/run_examples.py $@ diff --git a/docker/circleci/run_nosetests.sh b/docker/circleci/run_nosetests.sh index 21accd5413..5c99e7ce3e 100644 --- a/docker/circleci/run_nosetests.sh +++ b/docker/circleci/run_nosetests.sh @@ -1,8 +1,5 @@ #!/bin/bash -for i in /etc/profile.d/*.sh; do - source $i -done -source activate nipypetests-2.7 + cd /root/src/nipype mkdir -p /scratch/nose nosetests -c /root/src/nipype/.noserc --xunit-file="/scratch/nosetests.xml" --cover-xml-file="/scratch/coverage.xml" diff --git a/docker/nipype_test_py27/Dockerfile b/docker/nipype_test_py27/Dockerfile index 3b77fea54d..0056e1406e 100644 --- a/docker/nipype_test_py27/Dockerfile +++ b/docker/nipype_test_py27/Dockerfile @@ -27,8 +27,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. FROM nipype/nipype_test:base -MAINTAINER Stanford Center for Reproducible Neuroscience - +MAINTAINER The nipype developers https://github.com/nipy/nipype # Preparations RUN ln -snf /bin/bash /bin/sh WORKDIR /root @@ -45,9 +44,19 @@ ENV PATH /usr/local/miniconda/bin:$PATH ENV LANG C.UTF-8 # Add conda-forge channel in conda -RUN conda config --add channels conda-forge +RUN conda config --add channels conda-forge && \ + conda install -y lockfile nipype + +RUN mkdir -p /root/src/nipype +COPY . /root/src/nipype + +RUN cd /root/src/nipype && \ + pip install -r requirements.txt && \ + pip install -e . + -# Create conda environment -RUN conda install -y lockfile nipype +COPY docker/circleci/run_* /usr/bin/ +RUN chmod +x /usr/bin/run_* +ENV SHELL /bin/bash CMD ["/bin/bash"] From c6772245a2aaa5e5dbf8b7f1b9206cd3d01534d4 Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 21:15:13 -0700 Subject: [PATCH 03/21] fix circle missing wget and bzip2 --- circle.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/circle.yml b/circle.yml index ab21ad7506..0212521200 100644 --- a/circle.yml +++ b/circle.yml @@ -9,6 +9,7 @@ dependencies: pre: - mkdir -p "~/scratch/nose" + - apt-get -y update && apt-get install -y wget bzip2 override: - if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi From 2768968413969fb320176b8106dbe6f094630dec Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 21:18:08 -0700 Subject: [PATCH 04/21] add sudo to apt-get commands in circle.yml --- circle.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 0212521200..112147f3c1 100644 --- a/circle.yml +++ b/circle.yml @@ -9,9 +9,11 @@ dependencies: pre: - mkdir -p "~/scratch/nose" - - apt-get -y update && apt-get install -y wget bzip2 + # Let CircleCI cache the apt archive + - sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives && mkdir -p ~/.apt-cache/partial override: + - sudo apt-get -y update && sudo apt-get install -y wget bzip2 - if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi - docker build -f docker/nipype_test_py27/Dockerfile -t nipype/nipype_test:py27 . : timeout: 1600 From 9d96056a22413a7e0b3b9abfd1cf751ee1d804b9 Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 21:26:48 -0700 Subject: [PATCH 05/21] cache apt in circle.yml, fix data download commands --- circle.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/circle.yml b/circle.yml index 112147f3c1..1a940b0652 100644 --- a/circle.yml +++ b/circle.yml @@ -6,27 +6,22 @@ dependencies: cache_directories: - "~/docker" - "~/examples" + - "~/.apt-cache" pre: - mkdir -p "~/scratch/nose" # Let CircleCI cache the apt archive - sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives && mkdir -p ~/.apt-cache/partial + - sudo apt-get -y update && sudo apt-get install -y wget bzip2 override: - - sudo apt-get -y update && sudo apt-get install -y wget bzip2 - if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi - docker build -f docker/nipype_test_py27/Dockerfile -t nipype/nipype_test:py27 . : timeout: 1600 - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 - - if [[ ! -d ~/examples/data ]]; then \ - wget -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && \ - tar jxvf nipype-tutorial.tar.bz2 && \ - mv nipype-tutorial/* ~/examples/; fi - - if [[ ! -d ~/examples/feeds ]]; then \ - wget -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && \ - tar xzf fsl-feeds.tar.gz && \ - mv feeds ~/examples/; fi + - if [[ ! -d ~/examples/data ]]; then wget -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar jxvf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi + - if [[ ! -d ~/examples/feeds ]]; then wget -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi test: override: From 7b6494d846a1cf1d3a87e0e317f19d46123b4998 Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 21:37:04 -0700 Subject: [PATCH 06/21] create examples directory --- circle.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 1a940b0652..f26c13ba1d 100644 --- a/circle.yml +++ b/circle.yml @@ -10,6 +10,7 @@ dependencies: pre: - mkdir -p "~/scratch/nose" + - mkdir -p "~/examples" # Let CircleCI cache the apt archive - sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives && mkdir -p ~/.apt-cache/partial - sudo apt-get -y update && sudo apt-get install -y wget bzip2 @@ -20,7 +21,7 @@ dependencies: timeout: 1600 - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 - - if [[ ! -d ~/examples/data ]]; then wget -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar jxvf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi + - if [[ ! -d ~/examples/data ]]; then mkdir ~/examples/; wget -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi - if [[ ! -d ~/examples/feeds ]]; then wget -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi test: From fea3aa06d47afc1658f4b3436b56b2e987e14059 Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 21:59:49 -0700 Subject: [PATCH 07/21] create tags for python versions --- docker/nipype_test_base/Dockerfile | 1 + docker/nipype_test_py34/Dockerfile | 45 ++++++++++++------------------ docker/nipype_test_py35/Dockerfile | 43 +++++++++++----------------- 3 files changed, 35 insertions(+), 54 deletions(-) diff --git a/docker/nipype_test_base/Dockerfile b/docker/nipype_test_base/Dockerfile index 8d940ef2ce..38035cf414 100644 --- a/docker/nipype_test_base/Dockerfile +++ b/docker/nipype_test_base/Dockerfile @@ -43,6 +43,7 @@ RUN sed -i -e 's,main$,main contrib non-free,g' /etc/apt/sources.list.d/neurodeb apt-utils \ fusefat \ graphviz \ + make \ fsl-core && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ echo ". /etc/fsl/fsl.sh" >> /etc/bash.bashrc diff --git a/docker/nipype_test_py34/Dockerfile b/docker/nipype_test_py34/Dockerfile index 07fe38281c..47d922a658 100644 --- a/docker/nipype_test_py34/Dockerfile +++ b/docker/nipype_test_py34/Dockerfile @@ -1,4 +1,4 @@ -# Copyright (c) 2016, The developers of the Stanford CRN +# Copyright (c) 2016, The developers of nipype # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -26,19 +26,16 @@ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM nipype/testbase:latest -MAINTAINER Stanford Center for Reproducible Neuroscience - +FROM nipype/nipype_test:base +MAINTAINER The nipype developers https://github.com/nipy/nipype # Preparations RUN ln -snf /bin/bash /bin/sh WORKDIR /root # Install miniconda -RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh && \ - /bin/bash Miniconda-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \ - rm Miniconda-latest-Linux-x86_64.sh && \ - echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ - echo 'export PATH=/usr/local/miniconda/bin:$PATH' >> /etc/profile.d/nipype.sh +RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && \ + /bin/bash Miniconda3-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \ + rm Miniconda3-latest-Linux-x86_64.sh ENV PATH /usr/local/miniconda/bin:$PATH @@ -47,27 +44,21 @@ ENV PATH /usr/local/miniconda/bin:$PATH ENV LANG C.UTF-8 # Add conda-forge channel in conda -RUN conda config --add channels conda-forge +RUN conda config --add channels conda-forge && \ + conda update -y conda && \ + conda update --all -y python=3.4 && \ + conda install -y lockfile nipype -# Create conda environment -RUN conda create -y -n nipypetests-2.7 lockfile nipype && \ - echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ - echo '#!/bin/bash' >> /etc/bashrc && \ - echo 'source activate nipypetests-2.7' >> /etc/profile.d/nipype.sh +RUN mkdir -p /root/src/nipype +COPY . /root/src/nipype -# Create conda environment -RUN conda create -y -n nipypetests-3.4 lockfile nipype python=3.4 +RUN cd /root/src/nipype && \ + pip install -r requirements.txt && \ + pip install -e . -# Create conda environment -RUN conda create -y -n nipypetests-3.5 lockfile nipype python=3.5 -# Install dipy -RUN source activate nipypetests-2.7 && \ - pip install dipy && \ - source activate nipypetests-3.4 && \ - pip install dipy && \ - source activate nipypetests-3.5 && \ - pip install dipy +COPY docker/circleci/run_* /usr/bin/ +RUN chmod +x /usr/bin/run_* +ENV SHELL /bin/bash -RUN echo "source /etc/profile.d/nipype.sh" >> /etc/bash.bashrc CMD ["/bin/bash"] diff --git a/docker/nipype_test_py35/Dockerfile b/docker/nipype_test_py35/Dockerfile index 07fe38281c..ac81e0d99b 100644 --- a/docker/nipype_test_py35/Dockerfile +++ b/docker/nipype_test_py35/Dockerfile @@ -1,4 +1,4 @@ -# Copyright (c) 2016, The developers of the Stanford CRN +# Copyright (c) 2016, The developers of nipype # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -26,19 +26,16 @@ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -FROM nipype/testbase:latest -MAINTAINER Stanford Center for Reproducible Neuroscience - +FROM nipype/nipype_test:base +MAINTAINER The nipype developers https://github.com/nipy/nipype # Preparations RUN ln -snf /bin/bash /bin/sh WORKDIR /root # Install miniconda -RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh && \ - /bin/bash Miniconda-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \ - rm Miniconda-latest-Linux-x86_64.sh && \ - echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ - echo 'export PATH=/usr/local/miniconda/bin:$PATH' >> /etc/profile.d/nipype.sh +RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && \ + /bin/bash Miniconda3-latest-Linux-x86_64.sh -b -p /usr/local/miniconda && \ + rm Miniconda3-latest-Linux-x86_64.sh ENV PATH /usr/local/miniconda/bin:$PATH @@ -47,27 +44,19 @@ ENV PATH /usr/local/miniconda/bin:$PATH ENV LANG C.UTF-8 # Add conda-forge channel in conda -RUN conda config --add channels conda-forge +RUN conda config --add channels conda-forge && \ + conda install -y lockfile nipype -# Create conda environment -RUN conda create -y -n nipypetests-2.7 lockfile nipype && \ - echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \ - echo '#!/bin/bash' >> /etc/bashrc && \ - echo 'source activate nipypetests-2.7' >> /etc/profile.d/nipype.sh +RUN mkdir -p /root/src/nipype +COPY . /root/src/nipype -# Create conda environment -RUN conda create -y -n nipypetests-3.4 lockfile nipype python=3.4 +RUN cd /root/src/nipype && \ + pip install -r requirements.txt && \ + pip install -e . -# Create conda environment -RUN conda create -y -n nipypetests-3.5 lockfile nipype python=3.5 -# Install dipy -RUN source activate nipypetests-2.7 && \ - pip install dipy && \ - source activate nipypetests-3.4 && \ - pip install dipy && \ - source activate nipypetests-3.5 && \ - pip install dipy +COPY docker/circleci/run_* /usr/bin/ +RUN chmod +x /usr/bin/run_* +ENV SHELL /bin/bash -RUN echo "source /etc/profile.d/nipype.sh" >> /etc/bash.bashrc CMD ["/bin/bash"] From 317ad68ea8b535ef2e350b9ba5cb6db1ae892c6b Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 22:17:23 -0700 Subject: [PATCH 08/21] circle wget quietly --- circle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index f26c13ba1d..1d42c36d5a 100644 --- a/circle.yml +++ b/circle.yml @@ -21,8 +21,8 @@ dependencies: timeout: 1600 - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 - - if [[ ! -d ~/examples/data ]]; then mkdir ~/examples/; wget -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi - - if [[ ! -d ~/examples/feeds ]]; then wget -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi + - if [[ ! -d ~/examples/data ]]; then mkdir ~/examples/; wget -q -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi + - if [[ ! -d ~/examples/feeds ]]; then wget -q -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi test: override: From a5184c985b6d4586e7ffe651da4492e44eecdc96 Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 22:32:25 -0700 Subject: [PATCH 09/21] update scripts to raise errors when something failed --- docker/circleci/run_builddocs.sh | 3 +++ docker/circleci/run_examples.sh | 3 +++ docker/circleci/run_nosetests.sh | 3 +++ docker/nipype_test_py27/Dockerfile | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docker/circleci/run_builddocs.sh b/docker/circleci/run_builddocs.sh index c1bac25b6f..355b23f6af 100644 --- a/docker/circleci/run_builddocs.sh +++ b/docker/circleci/run_builddocs.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -x +set -u mkdir -p /scratch/docs set -o pipefail && cd /root/src/nipype/doc && make html 2>&1 | tee /scratch/builddocs.log diff --git a/docker/circleci/run_examples.sh b/docker/circleci/run_examples.sh index 978c954485..6c1e0e8d41 100644 --- a/docker/circleci/run_examples.sh +++ b/docker/circleci/run_examples.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -x +set -u mkdir -p /root/.nipype echo '[logging]' > /root/.nipype/nipype.cfg diff --git a/docker/circleci/run_nosetests.sh b/docker/circleci/run_nosetests.sh index 5c99e7ce3e..6898bdc0d1 100644 --- a/docker/circleci/run_nosetests.sh +++ b/docker/circleci/run_nosetests.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -x +set -u cd /root/src/nipype mkdir -p /scratch/nose diff --git a/docker/nipype_test_py27/Dockerfile b/docker/nipype_test_py27/Dockerfile index 0056e1406e..a10cd14c80 100644 --- a/docker/nipype_test_py27/Dockerfile +++ b/docker/nipype_test_py27/Dockerfile @@ -45,7 +45,7 @@ ENV LANG C.UTF-8 # Add conda-forge channel in conda RUN conda config --add channels conda-forge && \ - conda install -y lockfile nipype + conda install -y lockfile nipype matplotlib sphinx RUN mkdir -p /root/src/nipype COPY . /root/src/nipype From ab7084c7d5a7269fb13957f0ccaa7c22f57f55c1 Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 22:56:27 -0700 Subject: [PATCH 10/21] circle: add dipy install so that build docs do not fail --- docker/nipype_test_py27/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/nipype_test_py27/Dockerfile b/docker/nipype_test_py27/Dockerfile index a10cd14c80..14e742337c 100644 --- a/docker/nipype_test_py27/Dockerfile +++ b/docker/nipype_test_py27/Dockerfile @@ -51,6 +51,7 @@ RUN mkdir -p /root/src/nipype COPY . /root/src/nipype RUN cd /root/src/nipype && \ + pip install dipy && \ pip install -r requirements.txt && \ pip install -e . From 2d93230eb181d8edb8bd091ec242dd0e09b7451c Mon Sep 17 00:00:00 2001 From: oesteban Date: Tue, 2 Aug 2016 23:42:22 -0700 Subject: [PATCH 11/21] circle: fix nipype-tutorials data path --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 1d42c36d5a..54a22b3585 100644 --- a/circle.yml +++ b/circle.yml @@ -21,7 +21,7 @@ dependencies: timeout: 1600 - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 - - if [[ ! -d ~/examples/data ]]; then mkdir ~/examples/; wget -q -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi + - if [[ ! -d ~/examples/nipype-tutorial ]]; then mkdir ~/examples/; wget -q -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial ~/examples/; fi - if [[ ! -d ~/examples/feeds ]]; then wget -q -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi test: From 96e95ecc9a4328b69b5bdb97dc91d39e65f83cf3 Mon Sep 17 00:00:00 2001 From: oesteban Date: Wed, 3 Aug 2016 08:29:39 -0700 Subject: [PATCH 12/21] circle: fix final details #1558 --- doc/Makefile | 6 +++--- docker/nipype_test_py27/Dockerfile | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index 3e9b6a2491..abe329a57a 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -35,9 +35,9 @@ htmlonly: api: rm -rf api/generated - python ../tools/build_modref_templates.py + python -u ../tools/build_modref_templates.py rm -rf interfaces/generated - python ../tools/build_interface_docs.py + python -u ../tools/build_interface_docs.py @echo "Build API docs finished." html: clean examples2rst api htmlonly @@ -76,7 +76,7 @@ doctest: "results in _build/doctest/output.txt." gitwash-update: - python ../tools/gitwash_dumper.py devel nipype \ + python -u ../tools/gitwash_dumper.py devel nipype \ --repo-name=nipype \ --github-user=nipy \ --project-url=http://nipy.org/nipype \ diff --git a/docker/nipype_test_py27/Dockerfile b/docker/nipype_test_py27/Dockerfile index 14e742337c..867c97d4ab 100644 --- a/docker/nipype_test_py27/Dockerfile +++ b/docker/nipype_test_py27/Dockerfile @@ -45,7 +45,7 @@ ENV LANG C.UTF-8 # Add conda-forge channel in conda RUN conda config --add channels conda-forge && \ - conda install -y lockfile nipype matplotlib sphinx + conda install -y lockfile nipype matplotlib sphinx boto coverage RUN mkdir -p /root/src/nipype COPY . /root/src/nipype From d220a14ddfd208bcfd1a9a7db3943e495a7844b0 Mon Sep 17 00:00:00 2001 From: oesteban Date: Wed, 3 Aug 2016 08:33:03 -0700 Subject: [PATCH 13/21] circle: remove -i flag in tests --- circle.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/circle.yml b/circle.yml index 54a22b3585..f1211bb206 100644 --- a/circle.yml +++ b/circle.yml @@ -26,20 +26,20 @@ dependencies: test: override: - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_builddocs.sh - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : + - docker run -v /etc/localtime:/etc/localtime:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_builddocs.sh + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline : timeout: 1600 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ level1 - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ l2pipeline - - docker run -i -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_nosetests.sh : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ level1 + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ l2pipeline + - docker run -v /etc/localtime:/etc/localtime:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_nosetests.sh : timeout: 2600 post: - bash docker/circleci/teardown.sh From 4b3a6e1966bdbdde793957a6caf042603e903fd7 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Wed, 3 Aug 2016 12:03:01 -0700 Subject: [PATCH 14/21] circle: fix builddocs.log --- circle.yml | 2 +- docker/circleci/run_builddocs.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index f1211bb206..3a75ebac76 100644 --- a/circle.yml +++ b/circle.yml @@ -26,7 +26,7 @@ dependencies: test: override: - - docker run -v /etc/localtime:/etc/localtime:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_builddocs.sh + - docker run -v /etc/localtime:/etc/localtime:ro -v $(pwd)/scratch:/scratch -w /root/src/nipype/doc nipype/nipype_test:py27 /usr/bin/run_builddocs.sh - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : timeout: 1600 - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : diff --git a/docker/circleci/run_builddocs.sh b/docker/circleci/run_builddocs.sh index 355b23f6af..6d3fd85c74 100644 --- a/docker/circleci/run_builddocs.sh +++ b/docker/circleci/run_builddocs.sh @@ -4,7 +4,7 @@ set -x set -u mkdir -p /scratch/docs -set -o pipefail && cd /root/src/nipype/doc && make html 2>&1 | tee /scratch/builddocs.log +make html 2>&1 | tee /scratch/builddocs.log cp -r /root/src/nipype/doc/_build/html/* /scratch/docs/ chmod 777 -R /scratch/docs chmod 777 /scratch/builddocs.log From 2bc0c5e086e6e32dd8382ffc720852308493d07b Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Wed, 3 Aug 2016 21:00:43 -0700 Subject: [PATCH 15/21] circle: fix home path mounting scratch --- circle.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/circle.yml b/circle.yml index 3a75ebac76..9fe8906f7e 100644 --- a/circle.yml +++ b/circle.yml @@ -21,25 +21,25 @@ dependencies: timeout: 1600 - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 - - if [[ ! -d ~/examples/nipype-tutorial ]]; then mkdir ~/examples/; wget -q -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial ~/examples/; fi + - if [[ ! -d ~/examples/nipype-tutorial ]]; then wget -q -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial ~/examples/; fi - if [[ ! -d ~/examples/feeds ]]; then wget -q -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi test: override: - - docker run -v /etc/localtime:/etc/localtime:ro -v $(pwd)/scratch:/scratch -w /root/src/nipype/doc nipype/nipype_test:py27 /usr/bin/run_builddocs.sh - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /root/src/nipype/doc nipype/nipype_test:py27 /usr/bin/run_builddocs.sh + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ level1 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ l2pipeline - - docker run -v /etc/localtime:/etc/localtime:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_nosetests.sh : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ level1 + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ l2pipeline + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_nosetests.sh : timeout: 2600 post: - bash docker/circleci/teardown.sh From 793cdfe23fb21596d3c8453614f25f7207e0e97e Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Wed, 3 Aug 2016 21:07:13 -0700 Subject: [PATCH 16/21] add dockerignore --- .dockerignore | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..db74497f3f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.git/ +*.pyc +*.egg-info +__pycache__ + From 280ca653837d188fa87b0c2288ade481152f6702 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Wed, 3 Aug 2016 23:30:44 -0700 Subject: [PATCH 17/21] circle: point nipype-tutorials to the correct dropbox file --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 9fe8906f7e..b9e39db4d4 100644 --- a/circle.yml +++ b/circle.yml @@ -21,7 +21,7 @@ dependencies: timeout: 1600 - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 - - if [[ ! -d ~/examples/nipype-tutorial ]]; then wget -q -O nipype-tutorial.tar.bz2 https://googledrive.com/host/0BxI12kyv2olZR05SU1lPampNcVE && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial ~/examples/; fi + - if [[ ! -d ~/examples/nipype-tutorial ]]; then wget -q -O nipype-tutorial.tar.bz2 https://dl.dropbox.com/s/jzgq2nupxyz36bp/nipype-tutorial.tar.bz2 && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial ~/examples/; fi - if [[ ! -d ~/examples/feeds ]]; then wget -q -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi test: From cd1882352fbc771cc47ef9c9671f2d9b6b8d66f6 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Wed, 3 Aug 2016 23:37:04 -0700 Subject: [PATCH 18/21] circle:back to use pwd where it worked out --- circle.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/circle.yml b/circle.yml index b9e39db4d4..d7e7b8d3f2 100644 --- a/circle.yml +++ b/circle.yml @@ -27,18 +27,18 @@ dependencies: test: override: - docker run -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /root/src/nipype/doc nipype/nipype_test:py27 /usr/bin/run_builddocs.sh - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow3d : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh test_spm Linear /root/examples/ workflow4d : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_feeds Linear /root/examples/ l1pipeline + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ level1 : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline : + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_dartel Linear /root/examples/ l2pipeline : timeout: 1600 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ level1 - - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ l2pipeline + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_fsl_reuse Linear /root/examples/ level1_workflow + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ level1 + - docker run -v /etc/localtime:/etc/localtime:ro -v ~/examples:/root/examples:ro -v $(pwd)/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_examples.sh fmri_spm_nested Linear /root/examples/ l2pipeline - docker run -v /etc/localtime:/etc/localtime:ro -v ~/scratch:/scratch -w /scratch nipype/nipype_test:py27 /usr/bin/run_nosetests.sh : timeout: 2600 post: From 77cedae75a38b6d1000f5e51a9129941621753f7 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Thu, 4 Aug 2016 09:17:11 -0700 Subject: [PATCH 19/21] circle: add settings for logfiles --- docker/circleci/run_examples.sh | 3 +++ docker/circleci/teardown.sh | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/circleci/run_examples.sh b/docker/circleci/run_examples.sh index 6c1e0e8d41..6c9d3357b5 100644 --- a/docker/circleci/run_examples.sh +++ b/docker/circleci/run_examples.sh @@ -4,9 +4,12 @@ set -x set -u mkdir -p /root/.nipype +mkdir -p /scratch/logs echo '[logging]' > /root/.nipype/nipype.cfg echo 'workflow_level = DEBUG' >> /root/.nipype/nipype.cfg echo 'interface_level = DEBUG' >> /root/.nipype/nipype.cfg echo 'filemanip_level = DEBUG' >> /root/.nipype/nipype.cfg +echo 'log_to_file = true' >> /root/.nipype/nipype.cfg +echo 'log_directory = /scratch/logs/' >> /root/.nipype/nipype.cfg python /root/src/nipype/tools/run_examples.py $@ diff --git a/docker/circleci/teardown.sh b/docker/circleci/teardown.sh index de5b0cadce..6f64658b0d 100644 --- a/docker/circleci/teardown.sh +++ b/docker/circleci/teardown.sh @@ -13,4 +13,4 @@ sudo mv ~/scratch/coverage.xml ~/coverage.xml mkdir -p ~/docs sudo mv ~/scratch/docs/* ~/docs/ mkdir -p ~/logs -sudo mv ~/scratch/logs/* ~/logs/ \ No newline at end of file +sudo mv $(pwd)/scratch/logs/* ~/logs/ \ No newline at end of file From f3baed5af31b7eb6d6f5070f02914c5d9fa7694f Mon Sep 17 00:00:00 2001 From: oesteban Date: Thu, 4 Aug 2016 13:27:36 -0700 Subject: [PATCH 20/21] update CHANGES --- CHANGES | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index cb37e04467..9fe72da2f9 100644 --- a/CHANGES +++ b/CHANGES @@ -1,12 +1,17 @@ Upcoming release 0.13 ===================== +* TST: reduce the size of docker images & use tags for images (https://github.com/nipy/nipype/pull/1564) + + Release 0.12.1 (August 3, 2016) -============================== +=============================== + * FIX: runtime profiling is optional and off by default (https://github.com/nipy/nipype/pull/1561) * TST: circle CI tests run with docker (https://github.com/nipy/nipype/pull/1541) * FIX: workflow export functions without import error (https://github.com/nipy/nipype/pull/1552) + Release 0.12.0 (July 12, 2016) ============================== From cfffef4e253d94cadebed95218722e0b16099466 Mon Sep 17 00:00:00 2001 From: oesteban Date: Thu, 4 Aug 2016 16:05:52 -0700 Subject: [PATCH 21/21] fix download and unpacking of nipype-tutorial --- circle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index d7e7b8d3f2..f153462c25 100644 --- a/circle.yml +++ b/circle.yml @@ -21,8 +21,8 @@ dependencies: timeout: 1600 - mkdir -p ~/docker; docker save nipype/nipype_test:py27 > ~/docker/image.tar : timeout: 1600 - - if [[ ! -d ~/examples/nipype-tutorial ]]; then wget -q -O nipype-tutorial.tar.bz2 https://dl.dropbox.com/s/jzgq2nupxyz36bp/nipype-tutorial.tar.bz2 && tar xjf nipype-tutorial.tar.bz2 && mv nipype-tutorial ~/examples/; fi - - if [[ ! -d ~/examples/feeds ]]; then wget -q -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz && mv feeds ~/examples/; fi + - if [[ ! -d ~/examples/nipype-tutorial ]]; then wget -q -O nipype-tutorial.tar.bz2 https://dl.dropbox.com/s/jzgq2nupxyz36bp/nipype-tutorial.tar.bz2 && tar xjf nipype-tutorial.tar.bz2 -C ~/examples/; fi + - if [[ ! -d ~/examples/feeds ]]; then wget -q -O fsl-feeds.tar.gz https://googledrive.com/host/0BxI12kyv2olZNXBONlJKV0Y1Tm8 && tar xzf fsl-feeds.tar.gz -C ~/examples/; fi test: override: