|
1 | 1 | dependencies:
|
2 | 2 | cache_directories:
|
| 3 | + - "~/.apt-cache" |
3 | 4 | - "~/examples/data"
|
4 | 5 | - "~/examples/fsdata"
|
5 |
| - - "~/examples/feeds" |
6 | 6 | - "~/mcr"
|
7 | 7 | - "~/spm12"
|
8 |
| - - "~/fsl" |
9 | 8 | - "~/examples/fsl_course_data"
|
| 9 | + pre: |
| 10 | + # Let CircleCI cache the apt archive |
| 11 | + - sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives && mkdir -p ~/.apt-cache/partial |
| 12 | + - bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh) |
10 | 13 | override:
|
| 14 | + # Install apt packages |
| 15 | + - sudo apt-get install -y fsl-core fsl-atlases fsl-mni152-templates fsl-feeds afni swig python-vtk xvfb |
| 16 | + - echo 'source /etc/fsl/fsl.sh' >> $HOME/.profile |
| 17 | + - echo 'source /etc/afni/afni.sh' >> $HOME/.profile |
| 18 | + - mkdir -p ~/examples/ && ln -sf /usr/share/fsl-feeds/ ~/examples/feeds |
| 19 | + # Enable system-wide vtk |
| 20 | + - ln -sf /usr/lib/pymodules/python2.7/vtk ~/virtualenvs/venv-system/lib/python2.7/site-packages/ |
| 21 | + # Set up python environment |
11 | 22 | - pip install --upgrade pip
|
12 | 23 | - pip install -e .
|
13 |
| - - pip install matplotlib sphinx ipython boto |
| 24 | + - pip install matplotlib sphinx ipython boto coverage dipy |
| 25 | + # Add tvtk |
| 26 | + - pip install http://effbot.org/downloads/Imaging-1.1.7.tar.gz |
| 27 | + - pip install -e git+https://github.com/enthought/etsdevtools.git#egg=etsdevtools |
| 28 | + - pip install -e git+https://github.com/enthought/blockcanvas.git#egg=blockcanvas |
| 29 | + - pip install -e git+https://github.com/enthought/etsproxy.git#egg=etsproxy |
| 30 | + - pip install -e git+https://github.com/enthought/ets.git#egg=ets |
14 | 31 | - gem install fakes3
|
15 |
| - - if [[ ! -d ~/fsl ]]; then wget "http://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-5.0.9-centos6_64.tar.gz"; tar zxvf fsl-5.0.9-centos6_64.tar.gz; mv fsl ~/fsl; fi |
16 |
| - - if [[ ! -d ~/examples/data ]]; then wget "http://tcpdiag.dl.sourceforge.net/project/nipy/nipype/nipype-0.2/nipype-tutorial.tar.bz2"; tar jxvf nipype-tutorial.tar.bz2; mkdir ~/examples; mv nipype-tutorial/* ~/examples/; fi |
17 |
| - # we download this manually because CircleCI does not cache apt |
18 |
| - - if [[ ! -d ~/examples/feeds ]]; then wget "http://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-5.0.9-feeds.tar.gz"; tar zxvf fsl-5.0.9-feeds.tar.gz; mv feeds ~/examples/; fi |
19 |
| - - if [[ ! -d ~/examples/fsl_course_data ]]; then wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt1.tar.gz" ; wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt2.tar.gz"; wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/tbss.tar.gz"; mkdir ~/examples/fsl_course_data; tar zxvf fdt1.tar.gz -C ~/examples/fsl_course_data; tar zxvf fdt2.tar.gz -C ~/examples/fsl_course_data; tar zxvf tbss.tar.gz -C ~/examples/fsl_course_data; fi |
| 32 | + - if [[ ! -d ~/examples/data ]]; then wget "https://dl.dropbox.com/s/jzgq2nupxyz36bp/nipype-tutorial.tar.bz2" && tar jxvf nipype-tutorial.tar.bz2 && mv nipype-tutorial/* ~/examples/; fi |
| 33 | + - if [[ ! -d ~/examples/fsl_course_data ]]; then wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt1.tar.gz" && wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt2.tar.gz" && wget -c "http://fsl.fmrib.ox.ac.uk/fslcourse/tbss.tar.gz" && mkdir ~/examples/fsl_course_data && tar zxvf fdt1.tar.gz -C ~/examples/fsl_course_data && tar zxvf fdt2.tar.gz -C ~/examples/fsl_course_data && tar zxvf tbss.tar.gz -C ~/examples/fsl_course_data; fi |
20 | 34 | - bash ~/nipype/tools/install_spm_mcr.sh
|
21 |
| - - mkdir -p ~/.nipype && echo "[logging]" > ~/.nipype/nipype.cfg && echo "workflow_level = DEBUG" >> ~/.nipype/nipype.cfg && echo "interface_level = DEBUG" >> ~/.nipype/nipype.cfg && echo "filemanip_level = DEBUG" >> ~/.nipype/nipype.cfg |
| 35 | + - mkdir -p ~/.nipype && echo '[logging]' > ~/.nipype/nipype.cfg && echo 'workflow_level = DEBUG' >> ~/.nipype/nipype.cfg && echo 'interface_level = DEBUG' >> ~/.nipype/nipype.cfg && echo 'filemanip_level = DEBUG' >> ~/.nipype/nipype.cfg |
| 36 | +machine: |
| 37 | + environment: |
| 38 | + FSLOUTPUTTYPE: NIFTI_GZ |
22 | 39 | test:
|
23 | 40 | override:
|
24 |
| - - nosetests --with-doctest --logging-level=DEBUG --verbosity=3: |
| 41 | + - mkdir -p ${CIRCLE_TEST_REPORTS}/nose |
| 42 | + - source $HOME/.profile; nosetests --with-doctest --xunit-file="${CIRCLE_TEST_REPORTS}/nose/${CIRCLE_PROJECT_REPONAME}.xml" -c ./.noserc --logging-level=DEBUG --verbosity=3: |
25 | 43 | environment:
|
26 | 44 | SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
|
27 | 45 | FORCE_SPMMCR: 1
|
28 | 46 | FSL_COURSE_DATA: "$HOME/examples/fsl_course_data"
|
29 |
| - FSLDIR: "$HOME/fsl/" |
30 |
| - PATH: "$HOME/fsl/bin:$PATH" |
31 |
| - LD_LIBRARY_PATH: "$HOME/fsl/lib" |
32 |
| - FSLOUTPUTTYPE: "NIFTI_GZ" |
33 | 47 | timeout: 2600
|
34 | 48 | - set -o pipefail && cd doc && make html 2>&1 | tee ~/log.txt
|
35 | 49 | - cat ~/log.txt && if grep -q "ERROR" ~/log.txt; then false; else true; fi
|
36 |
| - - python ~/nipype/tools/run_examples.py test_spm Linear workflow3d workflow4d: |
| 50 | + - source $HOME/.profile; python ~/nipype/tools/run_examples.py test_spm Linear workflow3d workflow4d: |
37 | 51 | pwd: ../examples
|
38 | 52 | environment:
|
39 | 53 | SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
|
40 | 54 | FORCE_SPMMCR: 1
|
41 |
| - FSLDIR: "$HOME/fsl/" |
42 |
| - PATH: "$HOME/fsl/bin:$PATH" |
43 |
| - LD_LIBRARY_PATH: "$HOME/fsl/lib" |
44 |
| - FSLOUTPUTTYPE: "NIFTI_GZ" |
45 | 55 | timeout: 1600
|
46 |
| - - python ~/nipype/tools/run_examples.py fmri_fsl_feeds Linear l1pipeline: |
| 56 | + - source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_fsl_feeds Linear l1pipeline: |
47 | 57 | pwd: ../examples
|
48 |
| - environment: |
49 |
| - FSLDIR: "$HOME/fsl/" |
50 |
| - PATH: "$HOME/fsl/bin:$PATH" |
51 |
| - LD_LIBRARY_PATH: "$HOME/fsl/lib" |
52 |
| - FSLOUTPUTTYPE: "NIFTI_GZ" |
53 |
| - - python ~/nipype/tools/run_examples.py fmri_spm_dartel Linear level1 l2pipeline: |
| 58 | + - source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_spm_dartel Linear level1 l2pipeline: |
54 | 59 | pwd: ../examples
|
55 | 60 | environment:
|
56 | 61 | SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
|
57 | 62 | FORCE_SPMMCR: 1
|
58 |
| - FSLDIR: "$HOME/fsl/" |
59 |
| - PATH: "$HOME/fsl/bin:$PATH" |
60 |
| - LD_LIBRARY_PATH: "$HOME/fsl/lib" |
61 |
| - FSLOUTPUTTYPE: "NIFTI_GZ" |
62 | 63 | timeout: 1600
|
63 |
| - - python ~/nipype/tools/run_examples.py fmri_fsl_reuse Linear level1_workflow: |
| 64 | + - source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_fsl_reuse Linear level1_workflow: |
64 | 65 | pwd: ../examples
|
65 |
| - environment: |
66 |
| - FSLDIR: "$HOME/fsl/" |
67 |
| - PATH: "$HOME/fsl/bin:$PATH" |
68 |
| - LD_LIBRARY_PATH: "$HOME/fsl/lib" |
69 |
| - FSLOUTPUTTYPE: "NIFTI_GZ" |
70 |
| - - python ~/nipype/tools/run_examples.py fmri_spm_nested Linear level1 l2pipeline: |
| 66 | + - source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_spm_nested Linear level1 l2pipeline: |
71 | 67 | pwd: ../examples
|
72 | 68 | environment:
|
73 | 69 | SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
|
74 | 70 | FORCE_SPMMCR: 1
|
75 |
| - FSLDIR: "$HOME/fsl/" |
76 |
| - PATH: "$HOME/fsl/bin:$PATH" |
77 |
| - LD_LIBRARY_PATH: "$HOME/fsl/lib" |
78 |
| - FSLOUTPUTTYPE: "NIFTI_GZ" |
79 | 71 |
|
80 | 72 | general:
|
81 | 73 | artifacts:
|
82 | 74 | - "doc/_build/html"
|
83 | 75 | - "~/log.txt"
|
| 76 | + - "nosetests.xml" |
| 77 | + - "coverage.xml" |
0 commit comments