@@ -64,14 +64,21 @@ _download_test_data: &_download_test_data
6464 environment :
6565 OSF_NIPYPE_URL : " https://files.osf.io/v1/resources/nefdp/providers/osfstorage"
6666 command : |
67+ set -x
6768 export DATA_NIPYPE_TUTORIAL_URL="${OSF_NIPYPE_URL}/57f4739cb83f6901ed94bf21"
68- curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_TUTORIAL_URL" | tar xj
69+ if [[ ! -d nipype-tutorial ]]; then
70+ curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_TUTORIAL_URL" | tar xjv
71+ fi
6972
7073 export DATA_NIPYPE_FSL_COURSE="${OSF_NIPYPE_URL}/57f472cf9ad5a101f977ecfe"
71- curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_COURSE" | tar xz
74+ if [[ ! -d nipype-fsl_course_data ]]; then
75+ curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_COURSE" | tar xzv
76+ fi
7277
7378 export DATA_NIPYPE_FSL_FEEDS="${OSF_NIPYPE_URL}/57f473066c613b01f113e7af"
74- curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_FEEDS" | tar xz
79+ if [[ ! -d feeds ]]; then
80+ curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_FEEDS" | tar xzv
81+ fi
7582
7683_prepare_working_directory : &prepare_working_directory
7784 name : Prepare working directory
@@ -134,6 +141,23 @@ jobs:
134141 - docker/Dockerfile.base-pruned
135142 - docker/get_base_image.sh
136143
144+ get_test_data :
145+ machine : *machine_kwds
146+ working_directory : /home/circleci/nipype
147+ steps :
148+ - restore_cache :
149+ keys :
150+ - data-v0-{{ .Branch }}-{{ .Revision }}
151+ - data-v0--{{ .Revision }}
152+ - data-v0-{{ .Branch }}-
153+ - data-v0-master-
154+ - data-v0-
155+ - run : *_download_test_data
156+ - save_cache :
157+ key : data-v0-{{ .Branch }}-{{ .Revision }}
158+ paths :
159+ - /home/circleci/examples
160+
137161 test_pytest :
138162 machine : *machine_kwds
139163 working_directory : /home/circleci/nipype
@@ -142,13 +166,15 @@ jobs:
142166 path : /home/circleci/nipype
143167 - attach_workspace :
144168 at : /tmp
169+ - restore_cache :
170+ keys :
171+ - data-v0-{{ .Branch }}-{{ .Revision }}
145172 - run : *set_pr_number
146173 - run : *generate_dockerfiles
147174 - run : *modify_nipype_version
148175 - run : *get_base_image
149176 - run : *build_main_image_py38
150177 - run : *_get_codecov
151- - run : *_download_test_data
152178 - run : *prepare_working_directory
153179 - run :
154180 name : Run pytests
@@ -248,6 +274,13 @@ workflows:
248274 - /docs?\/.*/
249275 tags :
250276 only : /.*/
277+ - get_test_data :
278+ filters :
279+ branches :
280+ ignore :
281+ - /docs?\/.*/
282+ tags :
283+ only : /.*/
251284 - test_pytest :
252285 filters :
253286 branches :
@@ -257,6 +290,7 @@ workflows:
257290 only : /.*/
258291 requires :
259292 - compare_base_dockerfiles
293+ - get_test_data
260294 - deploy_dockerhub :
261295 filters :
262296 branches :
0 commit comments