Skip to content

Commit 187f487

Browse files
committed
reduced CircleCI build time by caching apt
1 parent 0e7ad29 commit 187f487

File tree

1 file changed

+22
-37
lines changed

1 file changed

+22
-37
lines changed

circle.yml

Lines changed: 22 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,66 @@
11
dependencies:
22
cache_directories:
3+
- "~/.apt-cache"
34
- "~/examples/data"
45
- "~/examples/fsdata"
56
- "~/examples/feeds"
67
- "~/mcr"
78
- "~/spm12"
8-
- "~/fsl"
99
- "~/examples/fsl_course_data"
10+
pre:
11+
# Let CircleCI cache the apt archive
12+
- sudo rm -rf /var/cache/apt/archives && sudo ln -s ~/.apt-cache /var/cache/apt/archives && mkdir -p ~/.apt-cache/partial
13+
- wget -O- http://neuro.debian.net/lists/precise.us-ca.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
14+
- sudo apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9
15+
- sudo apt-get update
1016
override:
17+
# Install apt packages
18+
- sudo apt-get install -y fsl-core fsl-atlases fsl-mni152-templates fsl-feeds afni
19+
- echo "source /etc/fsl/fsl.sh" >> $HOME/.profile
20+
- echo "source /etc/afni/afni.sh" >> $HOME/.profile
21+
# Set up python environment
1122
- pip install --upgrade pip
1223
- pip install -e .
1324
- pip install matplotlib sphinx ipython boto
1425
- 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
1626
- 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
1927
- 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
2028
- 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
29+
- 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
30+
machine:
31+
environment:
32+
FSLOUTPUTTYPE: NIFTI_GZ
2233
test:
2334
override:
24-
- nosetests --with-doctest --logging-level=DEBUG --verbosity=3:
35+
- source $HOME/.profile; nosetests --with-doctest --logging-level=DEBUG --verbosity=3:
2536
environment:
2637
SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
2738
FORCE_SPMMCR: 1
2839
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"
3340
timeout: 2600
3441
- set -o pipefail && cd doc && make html 2>&1 | tee ~/log.txt
3542
- 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:
43+
- source $HOME/.profile; python ~/nipype/tools/run_examples.py test_spm Linear workflow3d workflow4d:
3744
pwd: ../examples
3845
environment:
3946
SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
4047
FORCE_SPMMCR: 1
41-
FSLDIR: "$HOME/fsl/"
42-
PATH: "$HOME/fsl/bin:$PATH"
43-
LD_LIBRARY_PATH: "$HOME/fsl/lib"
44-
FSLOUTPUTTYPE: "NIFTI_GZ"
4548
timeout: 1600
46-
- python ~/nipype/tools/run_examples.py fmri_fsl_feeds Linear l1pipeline:
49+
- source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_fsl_feeds Linear l1pipeline:
4750
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:
51+
- source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_spm_dartel Linear level1 l2pipeline:
5452
pwd: ../examples
5553
environment:
5654
SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
5755
FORCE_SPMMCR: 1
58-
FSLDIR: "$HOME/fsl/"
59-
PATH: "$HOME/fsl/bin:$PATH"
60-
LD_LIBRARY_PATH: "$HOME/fsl/lib"
61-
FSLOUTPUTTYPE: "NIFTI_GZ"
6256
timeout: 1600
63-
- python ~/nipype/tools/run_examples.py fmri_fsl_reuse Linear level1_workflow:
57+
- source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_fsl_reuse Linear level1_workflow:
6458
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:
59+
- source $HOME/.profile; python ~/nipype/tools/run_examples.py fmri_spm_nested Linear level1 l2pipeline:
7160
pwd: ../examples
7261
environment:
7362
SPMMCRCMD: "$HOME/spm12/run_spm12.sh $HOME/mcr/v85/ script"
7463
FORCE_SPMMCR: 1
75-
FSLDIR: "$HOME/fsl/"
76-
PATH: "$HOME/fsl/bin:$PATH"
77-
LD_LIBRARY_PATH: "$HOME/fsl/lib"
78-
FSLOUTPUTTYPE: "NIFTI_GZ"
7964

8065
general:
8166
artifacts:

0 commit comments

Comments
 (0)