Skip to content

Commit f662acf

Browse files
authored
Merge pull request #3459 from effigies/ci/cache_test_data
CI: Cache test data
2 parents 570d464 + 8dcd04b commit f662acf

File tree

1 file changed

+38
-4
lines changed

1 file changed

+38
-4
lines changed

.circleci/config.yml

+38-4
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)