@@ -119,72 +119,84 @@ jobs:
119
119
- src/dmriprep
120
120
121
121
get_data :
122
- machine :
123
- # Ubuntu 14.04 with Docker 17.10.0-ce
124
- image : circleci/classic:201711-01
125
- working_directory : /home/circleci/data
122
+ docker :
123
+ - image : continuumio/miniconda3:4.9.2-alpine
124
+ working_directory : /tmp/data
125
+ environment :
126
+ - TEMPLATEFLOW_HOME : /tmp/templateflow
126
127
steps :
127
128
- restore_cache :
128
129
keys :
129
- - data-thp-v1-{{ .Revision }}
130
- - data-thp-v1-
130
+ - env-v1-{{ .Branch }}-
131
+ - env-v1-master-
132
+ - env-v1-
131
133
- run :
132
- name : Get test data from THP002
134
+ name : Setup git-annex & DataLad
133
135
command : |
134
- mkdir -p /tmp/data
135
- if [[ ! -d /tmp/data/THP002 ]]; then
136
- wget --retry-connrefused --waitretry=5 --read-timeout=20 --timeout=15 -t 0 -q \
137
- -O THP002_data.tar.gz "https://files.osf.io/v1/resources/8k95s/providers/osfstorage/5d7d89fc9defac0019179fdf"
138
- tar xvzf THP002_data.tar.gz -C /tmp/data/
139
- else
140
- echo "Dataset THP002 was cached"
141
- fi
136
+ conda install -y -c anaconda -c conda-forge git-annex datalad
137
+ python -m pip install --no-cache-dir -U datalad-osf
138
+ git config --global user.name 'NiPreps Bot'
139
+ git config --global user.email '[email protected] '
140
+
142
141
- run :
143
- name : Get FreeSurfer derivatives for THP002
142
+ name : Setup TemplateFlow
144
143
command : |
145
- if [[ ! -d /tmp/data/THP002/derivatives/freesurfer-6.0.1 ]]; then
146
- mkdir -p /tmp/data/THP002/derivatives
147
- wget --retry-connrefused --waitretry=5 --read-timeout=20 --timeout=15 -t 0 -q \
148
- -O THP002_derivatives_freesurfer.tar.gz "https://files.osf.io/v1/resources/8k95s/providers/osfstorage/5d7d87ce7483ec0017530cc9"
149
- tar xvzf THP002_derivatives_freesurfer.tar.gz -C /tmp/data/THP002/derivatives
150
- mv /tmp/data/THP002/derivatives/freesurfer /tmp/data/THP002/derivatives/freesurfer-6.0.1
151
- else
152
- echo "FreeSurfer derivatives of THP002 were cached"
153
- fi
144
+ python -m pip install --no-cache-dir -U templateflow
145
+ python -c "from templateflow import api as tfapi; \
146
+ tfapi.get('OASIS30ANTs', resolution=1, desc=None, suffix='T1w'); \
147
+ tfapi.get('OASIS30ANTs', resolution=1, desc='BrainCerebellumExtraction', suffix='mask'); "
148
+
154
149
- save_cache :
155
- key : data-thp-v1-{{ .Revision }}-{{ epoch }}
156
- paths :
157
- - /tmp/data/THP002
150
+ key : env-v1-{{ .Branch }}-{{ .BuildNum }}
151
+ paths :
152
+ - /tmp/templateflow
153
+ - /opt/conda
154
+
158
155
- restore_cache :
159
156
keys :
160
- - data-ds001771-v1-{{ .Revision }}
161
- - data-ds001771-v1-
162
- - run :
163
- name : Get test data (ds001771)
164
- command : |
165
- mkdir -p /tmp/data
166
- if [[ ! -d /tmp/data/ds001771 ]]; then
167
- wget --retry-connrefused --waitretry=5 --read-timeout=20 --timeout=15 -t 0 -q \
168
- -O ds001771_sub-36.tar.gz "https://files.osf.io/v1/resources/8k95s/providers/osfstorage/5e1f89d36822bd01f0febbdc"
169
- tar xvzf ds001771_sub-36.tar.gz -C /tmp/data/
170
- else
171
- echo "Dataset ds001771_sub-36 was cached"
172
- fi
173
- - run :
174
- name : Get anatomical derivatives for ds001771
175
- command : |
176
- if [[ ! -d /tmp/data/ds001771/derivatives ]]; then
177
- mkdir -p /tmp/data/ds001771/derivatives
178
- wget --retry-connrefused --waitretry=5 --read-timeout=20 --timeout=15 -t 0 -q \
179
- -O ds001771-derivs.tar.gz "https://files.osf.io/v1/resources/8k95s/providers/osfstorage/5eb251fba2199500215d1dc3"
180
- tar xvzf ds001771-derivs.tar.gz -C /tmp/data/ds001771/
181
- else
182
- echo "Anatomical derivatives of ds001771 were cached"
183
- fi
157
+ - data-ds001771-v3-{{ .Branch }}-{{ .Revision }}-
158
+ - data-ds001771-v3-{{ .Branch }}-
159
+ - data-ds001771-v3-master-
160
+ - data-ds001771-v3-
161
+ - run :
162
+ name : Install ds001771
163
+ command : |
164
+ datalad install -r https://github.com/nipreps-data/ds001771.git
165
+ datalad update -r --merge -d ds001771/
166
+ datalad get -r -d ds001771/ ds001771/sub-36/anat/*
167
+ datalad get -r -d ds001771/ ds001771/sub-36/dwi/*
168
+ datalad get -r -d ds001771/ ds001771/sub-36/fmap/*
169
+ datalad get -r -d ds001771/derivatives/ ds001771/derivatives/smriprep-0.6.0/*
170
+ datalad get -r -d ds001771/derivatives/ ds001771/derivatives/freesurfer-6.0.1/sub-36/mri/*
171
+ datalad get -r -d ds001771/derivatives/ ds001771/derivatives/freesurfer-6.0.1/sub-36/surf/lh.white
172
+ datalad get -r -d ds001771/derivatives/ ds001771/derivatives/freesurfer-6.0.1/sub-36/surf/rh.white
173
+
184
174
- save_cache :
185
- key : data-ds001771-v1 -{{ .Revision }}-{{ epoch }}
186
- paths :
175
+ key : data-ds001771-v3-{{ .Branch }} -{{ .Revision }}-{{ epoch }}
176
+ paths :
187
177
- /tmp/data/ds001771
178
+
179
+ - restore_cache :
180
+ keys :
181
+ - data-ds000206-v1-{{ .Branch }}-{{ .Revision }}-
182
+ - data-ds000206-v1-{{ .Branch }}-
183
+ - data-ds000206-v1-master-
184
+ - data-ds000206-v1-
185
+ - run :
186
+ name : Install ds000206
187
+ command : |
188
+ datalad install -r https://github.com/nipreps-data/ds000206.git
189
+ datalad update -r --merge -d ds000206/
190
+ datalad get -r -d ds000206/ ds000206/sub-05/*
191
+ datalad get -r -d ds000206/derivatives/ ds000206/derivatives/freesurfer-6.0.1/sub-05/mri/*
192
+ datalad get -r -d ds000206/derivatives/ ds000206/derivatives/freesurfer-6.0.1/sub-05/surf/lh.white
193
+ datalad get -r -d ds000206/derivatives/ ds000206/derivatives/freesurfer-6.0.1/sub-05/surf/rh.white
194
+
195
+ - save_cache :
196
+ key : data-ds000206-v1-{{ .Branch }}-{{ .Revision }}-{{ epoch }}
197
+ paths :
198
+ - /tmp/data/ds000206
199
+
188
200
- run :
189
201
name : Store FreeSurfer license file
190
202
command : |
@@ -204,10 +216,10 @@ jobs:
204
216
- fslicense
205
217
- config/nipype.cfg
206
218
207
- THP002 :
219
+ ds000206 :
208
220
machine :
209
221
image : circleci/classic:201711-01
210
- working_directory : /tmp/THP002
222
+ working_directory : /tmp/ds000206
211
223
environment :
212
224
- FS_LICENSE : /tmp/fslicense/license.txt
213
225
steps :
@@ -221,15 +233,19 @@ jobs:
221
233
echo "Only docs build"
222
234
circleci step halt
223
235
fi
224
- if [[ "$( git log --format=oneline -n 1 $CIRCLE_SHA1 | grep -i -E '\[skip[ _]?THP002 \]' )" != "" ]]; then
225
- echo "Skipping THP002 build"
236
+ if [[ "$( git log --format=oneline -n 1 $CIRCLE_SHA1 | grep -i -E '\[skip[ _]?ds000206 \]' )" != "" ]]; then
237
+ echo "Skipping ds000206 build"
226
238
circleci step halt
227
239
fi
228
240
- attach_workspace :
229
241
at : /tmp
230
242
- restore_cache :
231
243
keys :
232
- - data-thp-v1-{{ .Revision }}
244
+ - data-ds000206-v1-{{ .Branch }}-{{ .Revision }}-{{ epoch }}
245
+ - data-ds000206-v1-{{ .Branch }}-{{ .Revision }}-
246
+ - data-ds000206-v1-{{ .Branch }}-
247
+ - data-ds000206-v1-master-
248
+ - data-ds000206-v1-
233
249
- restore_cache :
234
250
keys :
235
251
- build-v1-{{ .Branch }}-{{ epoch }}
@@ -249,67 +265,69 @@ jobs:
249
265
docker tag localhost:5000/dmriprep nipreps/dmriprep:latest
250
266
- restore_cache :
251
267
keys :
252
- - THP002 -anat-v01-{{ .Branch }}-{{ .Revision }}
253
- - THP002 -anat-v01-{{ .Branch }}
254
- - THP002 -anat-v01-master
255
- - THP002 -anat-v01-
268
+ - ds000206 -anat-v01-{{ .Branch }}-{{ .Revision }}
269
+ - ds000206 -anat-v01-{{ .Branch }}
270
+ - ds000206 -anat-v01-master
271
+ - ds000206 -anat-v01-
256
272
- run :
257
- name : Run anatomical workflow on THP002
273
+ name : Run anatomical workflow on ds000206
258
274
no_output_timeout : 2h
259
275
command : |
260
- mkdir -p /tmp/THP002 /work /tmp/THP002 /derivatives
276
+ mkdir -p /tmp/ds000206 /work /tmp/ds000206 /derivatives
261
277
docker run -e FS_LICENSE=$FS_LICENSE --rm \
262
- -v /tmp/data/THP002 :/data \
263
- -v /tmp/THP002 /derivatives:/out \
278
+ -v /tmp/data/ds000206 :/data \
279
+ -v /tmp/ds000206 /derivatives:/out \
264
280
-v /tmp/fslicense/license.txt:/tmp/fslicense/license.txt:ro \
265
281
-v /tmp/config/nipype.cfg:/home/dmriprep/.nipype/nipype.cfg \
266
- -v /tmp/THP002/work:/work \
282
+ -v /tmp/templateflow:/home/dmriprep/.cache/templateflow \
283
+ -v /tmp/ds000206/work:/work \
267
284
--user $(id -u):$(id -g) \
268
285
nipreps/dmriprep:latest /data /out participant -vv \
269
286
--fs-subjects-dir /data/derivatives/freesurfer-6.0.1 --sloppy --anat-only \
270
287
--notrack --skip-bids-validation -w /work --omp-nthreads 2 --nprocs 2
271
288
- run :
272
289
name : Clean-up after anatomical run
273
290
command : |
274
- rm -rf /tmp/THP002 /work/dmriprep_wf/fsdir*
275
- rm -rf /tmp/THP002 /work/reportlets
291
+ rm -rf /tmp/ds000206 /work/dmriprep_wf/fsdir*
292
+ rm -rf /tmp/ds000206 /work/reportlets
276
293
when : on_success
277
294
- save_cache :
278
- key : THP002 -anat-v01-{{ .Branch }}-{{ .Revision }}-{{ epoch }}
295
+ key : ds000206 -anat-v01-{{ .Branch }}-{{ .Revision }}-{{ epoch }}
279
296
paths :
280
- - /tmp/THP002 /work
297
+ - /tmp/ds000206 /work
281
298
- run :
282
- name : Run full diffusion workflow on THP002
299
+ name : Run full diffusion workflow on ds000206
283
300
no_output_timeout : 2h
284
301
command : |
285
- mkdir -p /tmp/THP002 /work /tmp/THP002 /derivatives
302
+ mkdir -p /tmp/ds000206 /work /tmp/ds000206 /derivatives
286
303
docker run -e FS_LICENSE=$FS_LICENSE --rm \
287
- -v /tmp/data/THP002 :/data \
288
- -v /tmp/THP002 /derivatives:/out \
304
+ -v /tmp/data/ds000206 :/data \
305
+ -v /tmp/ds000206 /derivatives:/out \
289
306
-v /tmp/fslicense/license.txt:/tmp/fslicense/license.txt:ro \
290
307
-v /tmp/config/nipype.cfg:/home/dmriprep/.nipype/nipype.cfg \
291
- -v /tmp/THP002/work:/work \
308
+ -v /tmp/templateflow:/home/dmriprep/.cache/templateflow \
309
+ -v /tmp/ds000206/work:/work \
292
310
--user $(id -u):$(id -g) \
293
311
nipreps/dmriprep:latest /data /out participant -vv \
294
312
--fs-subjects-dir /data/derivatives/freesurfer-6.0.1 --sloppy \
295
313
--notrack --skip-bids-validation -w /work --omp-nthreads 2 --nprocs 2
296
314
- store_artifacts :
297
- path : /tmp/THP002 /derivatives/dmriprep
315
+ path : /tmp/ds000206 /derivatives/dmriprep
298
316
- run :
299
317
name : Clean working directory
300
318
when : on_success
301
319
command : |
302
- sudo rm -rf /tmp/THP002 /work
320
+ sudo rm -rf /tmp/ds000206 /work
303
321
- run :
304
322
name : Clean working directory
305
323
when : on_fail
306
324
command : |
307
- find /tmp/THP002 /work \( -name "*.nii.gz" -or -name "*.nii" -or -name "*.gii" -or -name "*.h5" \) \
325
+ find /tmp/ds000206 /work \( -name "*.nii.gz" -or -name "*.nii" -or -name "*.gii" -or -name "*.h5" \) \
308
326
-exec sh -c 'rm -f {}; touch {}' \;
309
- find /tmp/THP002 /work_partial \( -name "*.nii.gz" -or -name "*.nii" -or -name "*.gii" -or -name "*.h5" \) \
327
+ find /tmp/ds000206 /work_partial \( -name "*.nii.gz" -or -name "*.nii" -or -name "*.gii" -or -name "*.h5" \) \
310
328
-exec sh -c 'rm -f {}; touch {}' \;
311
329
- store_artifacts :
312
- path : /tmp/THP002 /work
330
+ path : /tmp/ds000206 /work
313
331
314
332
ds001771 :
315
333
machine :
@@ -336,7 +354,11 @@ jobs:
336
354
at : /tmp
337
355
- restore_cache :
338
356
keys :
339
- - data-ds001771-v1-{{ .Revision }}
357
+ - data-ds001771-v3-{{ .Branch }}-{{ .Revision }}-{{ epoch }}
358
+ - data-ds001771-v3-{{ .Branch }}-{{ .Revision }}-
359
+ - data-ds001771-v3-{{ .Branch }}-
360
+ - data-ds001771-v3-master-
361
+ - data-ds001771-v3-
340
362
- restore_cache :
341
363
keys :
342
364
- build-v1-{{ .Branch }}-{{ epoch }}
@@ -363,6 +385,7 @@ jobs:
363
385
-v /tmp/data/ds001771:/data \
364
386
-v /tmp/ds001771/derivatives:/out \
365
387
-v /tmp/fslicense/license.txt:/tmp/fslicense/license.txt:ro \
388
+ -v /tmp/templateflow:/home/dmriprep/.cache/templateflow \
366
389
-v /tmp/config/nipype.cfg:/home/dmriprep/.nipype/nipype.cfg \
367
390
-v /tmp/ds001771/work:/work \
368
391
--user $(id -u):$(id -g) \
@@ -671,7 +694,7 @@ workflows:
671
694
tags :
672
695
only : /.*/
673
696
674
- - THP002 :
697
+ - ds000206 :
675
698
requires :
676
699
- build
677
700
- get_data
@@ -745,7 +768,7 @@ workflows:
745
768
branches :
746
769
ignore :
747
770
- /tests?\/.*/
748
- - /THP002 \/.*/
771
+ - /ds000206 \/.*/
749
772
- /ds001771\/.*/
750
773
tags :
751
774
only : /.*/
0 commit comments