@@ -56,20 +56,6 @@ _build_main_image_py36: &build_main_image_py36
56
56
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
57
57
--build-arg VERSION="${CIRCLE_TAG}" /home/circleci/nipype
58
58
59
- _build_main_image_py27 : &build_main_image_py27
60
- name : Build main image (py27)
61
- no_output_timeout : 60m
62
- command : |
63
- tools/retry_cmd.sh -n 5 -s 15 \
64
- docker build \
65
- --rm=false \
66
- --tag nipype/nipype:py27 \
67
- --build-arg PYTHON_VERSION_MAJOR=2 \
68
- --build-arg PYTHON_VERSION_MINOR=7 \
69
- --build-arg BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
70
- --build-arg VCS_REF="$(git rev-parse --short HEAD)" \
71
- --build-arg VERSION="${CIRCLE_TAG}-py27" /home/circleci/nipype
72
-
73
59
_download_test_data : &_download_test_data
74
60
name : Download test data
75
61
no_output_timeout : 20m
@@ -113,7 +99,6 @@ _run_codecov_smoke: &_run_codecov_smoke
113
99
114
100
version : 2
115
101
jobs :
116
-
117
102
compare_base_dockerfiles :
118
103
docker :
119
104
- image : docker:17.10.0-ce-git
@@ -161,47 +146,33 @@ jobs:
161
146
- run : *modify_nipype_version
162
147
- run : *get_base_image
163
148
- run : *build_main_image_py36
164
- - run : *build_main_image_py27
165
149
- run : *_get_codecov
166
150
- run : *_download_test_data
167
151
- run : *prepare_working_directory
168
152
- run :
169
- name : Run pytests (py36)
153
+ name : Run pytests
170
154
no_output_timeout : 30m
171
155
environment : *test_environment
172
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_pytest.sh
173
- - run :
174
- name : Run pytests (py27)
175
- no_output_timeout : 30m
176
- environment : *test_environment
177
- command : bash -ux /home/circleci/nipype/.circleci/test_py2_pytest.sh
156
+ command : bash -ux /home/circleci/nipype/.circleci/test_pytest.sh
178
157
- run : *_run_codecov_coverage
179
158
- store_artifacts : *store_artifacts_kwds
180
159
- store_test_results : *store_artifacts_kwds
181
- - run :
182
- name : Build docs (py36)
183
- no_output_timeout : 30m
184
- environment : *test_environment
185
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_docs.sh
186
- - store_artifacts :
187
- path : /home/circleci/work/docs
188
160
- run :
189
161
name : Save Docker images to workspace if on master
190
162
no_output_timeout : 60m
191
163
command : |
192
164
if [ "$CIRCLE_BRANCH" = "master" -a -z "$CIRCLE_PULL_REQUEST" ]; then
193
165
docker save nipype/nipype:base \
194
166
nipype/nipype:latest \
195
- nipype/nipype:py27 \
196
- nipype/nipype:py36 | gzip -1 > /tmp/docker/nipype-base-latest-py36-py27.tar.gz \
197
- && du -h /tmp/docker/nipype-base-latest-py36-py27.tar.gz
167
+ nipype/nipype:py36 | gzip -1 > /tmp/docker/nipype-base-latest-py36.tar.gz \
168
+ && du -h /tmp/docker/nipype-base-latest-py36.tar.gz
198
169
fi
199
170
- persist_to_workspace :
200
171
root : /tmp
201
172
paths :
202
173
- docker
203
174
204
- test_py3_fmri_fsl_spm :
175
+ test_fmri_fsl_spm :
205
176
machine : *machine_kwds
206
177
working_directory : /home/circleci/nipype
207
178
steps :
@@ -218,24 +189,24 @@ jobs:
218
189
- run : *_download_test_data
219
190
- run : *prepare_working_directory
220
191
- run :
221
- name : Run FSL reuse pipeline (py36)
192
+ name : Run FSL reuse pipeline
222
193
no_output_timeout : 40m
223
194
environment : *test_environment
224
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_fsl_reuse_linear_l1 .sh
195
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_fsl_reuse_linear_l1 .sh
225
196
- run :
226
- name : Run SPM test workflow - 3D inputs (py36)
197
+ name : Run SPM test workflow - 3D inputs
227
198
no_output_timeout : 40m
228
199
environment : *test_environment
229
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_linear_3d .sh
200
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_spm_linear_3d .sh
230
201
- run :
231
- name : Run SPM test workflow - 4D inputs (py36)
202
+ name : Run SPM test workflow - 4D inputs
232
203
no_output_timeout : 40m
233
204
environment : *test_environment
234
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_linear_4d .sh
205
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_spm_linear_4d .sh
235
206
- run : *_run_codecov_smoke
236
207
- store_artifacts : *store_artifacts_kwds
237
208
238
- test_py3_fmri_spm_dartel_multiproc :
209
+ test_fmri_spm_dartel_multiproc :
239
210
machine : *machine_kwds
240
211
working_directory : /home/circleci/nipype
241
212
steps :
@@ -252,15 +223,15 @@ jobs:
252
223
- run : *_download_test_data
253
224
- run : *prepare_working_directory
254
225
- run :
255
- name : Run SPM DARTEL Level 1 pipeline (py36)
226
+ name : Run SPM DARTEL Level 1 pipeline
256
227
no_output_timeout : 1h
257
228
environment : *test_environment
258
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_dartel_multiproc_l1 .sh
229
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_spm_dartel_multiproc_l1 .sh
259
230
- run :
260
- name : Run SPM DARTEL Level 2 pipeline (py36)
231
+ name : Run SPM DARTEL Level 2 pipeline
261
232
no_output_timeout : 30m
262
233
environment : *test_environment
263
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_dartel_multiproc_l2 .sh
234
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_spm_dartel_multiproc_l2 .sh
264
235
- run : *_run_codecov_smoke
265
236
- store_artifacts : *store_artifacts_kwds
266
237
@@ -277,25 +248,24 @@ jobs:
277
248
- run : *modify_nipype_version
278
249
- run : *get_base_image
279
250
- run : *build_main_image_py36
280
- - run : *build_main_image_py27
281
251
- run : *_get_codecov
282
252
- run : *_download_test_data
283
253
- run : *prepare_working_directory
284
254
- run :
285
- name : Run SPM Nested Level 1 pipeline (py36)
255
+ name : Run SPM Nested Level 1 pipeline
286
256
no_output_timeout : 1h
287
257
environment : *test_environment
288
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_nested_multiproc_l1 .sh
258
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_spm_nested_multiproc_l1 .sh
289
259
- run :
290
- name : Run SPM Nested Level 2 pipeline (py27)
260
+ name : Run SPM Nested Level 2 pipeline
291
261
no_output_timeout : 30m
292
262
environment : *test_environment
293
- command : bash -ux /home/circleci/nipype/.circleci/test_py2_fmri_spm_nested_multiproc_l2 .sh
263
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_spm_nested_multiproc_l2 .sh
294
264
- run :
295
- name : Run FSL FEEDS pipeline (py36)
265
+ name : Run FSL FEEDS pipeline
296
266
no_output_timeout : 40m
297
267
environment : *test_environment
298
- command : bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_fsl_feeds_linear_l1 .sh
268
+ command : bash -ux /home/circleci/nipype/.circleci/test_fmri_fsl_feeds_linear_l1 .sh
299
269
- run : *_run_codecov_smoke
300
270
- store_artifacts : *store_artifacts_kwds
301
271
@@ -310,7 +280,7 @@ jobs:
310
280
name : Load saved Docker images.
311
281
no_output_timeout : 60m
312
282
command : |
313
- docker load < /tmp/docker/nipype-base-latest-py36-py27 .tar.gz
283
+ docker load < /tmp/docker/nipype-base-latest-py36.tar.gz
314
284
- run :
315
285
name : Push to DockerHub
316
286
no_output_timeout : 120m
@@ -319,7 +289,6 @@ jobs:
319
289
docker push nipype/nipype:base
320
290
docker push nipype/nipype:latest
321
291
docker push nipype/nipype:py36
322
- docker push nipype/nipype:py27
323
292
- run :
324
293
name : Move pruned Dockerfile to /tmp/docker/cache directory
325
294
command : |
@@ -339,33 +308,24 @@ jobs:
339
308
- run :
340
309
name : Check pypi preconditions
341
310
command : |
311
+ pyenv local 3.6.5
342
312
pip install --upgrade pip twine future wheel readme_renderer setuptools
343
313
python setup.py sdist bdist_wheel
344
314
twine check dist/*
345
- - run :
346
- name : Validate Python 2 installation
347
- command : |
348
- pyenv local 2.7.12
349
- pip install --upgrade pip
350
- pip install dist/nipype-*-py2.py3-none-any.whl
351
- # Futures should install in Python 2
352
- pip show futures 2>/dev/null | grep "Name: futures"
353
315
- run :
354
316
name : Validate Python 3 installation
355
317
command : |
356
- pyenv local 3.5.2
318
+ pyenv local 3.6.5
357
319
pip install --upgrade pip
358
- pip install dist/nipype-*-py2.py3-none-any.whl
359
- # Futures should not install in Python 3
360
- test $(pip show futures 2>/dev/null | wc -l) = "0"
320
+ pip install dist/nipype-*-py3-none-any.whl
361
321
- run :
362
322
name : Validate Python 3.7 installation
363
323
command : |
364
324
pyenv local 3.7.0
365
325
pip install --upgrade pip
366
326
# Pre-install a version of numpy that will not pass
367
327
pip install numpy==1.15.0
368
- pip install dist/nipype-*-py2. py3-none-any.whl
328
+ pip install dist/nipype-*-py3-none-any.whl
369
329
# Numpy should be upgraded to >= 1.15.3
370
330
test "$(pip show numpy | grep Version)" \> "Version: 1.15.2"
371
331
- run :
@@ -388,7 +348,8 @@ jobs:
388
348
- run :
389
349
name : Deploy to PyPI
390
350
command : |
391
- pip install --upgrade twine future wheel readme_renderer setuptools
351
+ pyenv local 3.6.5
352
+ pip install --upgrade twine wheel readme_renderer setuptools
392
353
python setup.py check -r -s
393
354
python setup.py sdist bdist_wheel
394
355
twine upload dist/*
@@ -425,33 +386,85 @@ jobs:
425
386
ssh-add ~/.ssh/id_ed25519
426
387
/home/circleci/nipype/tools/feedstock.sh
427
388
389
+ build_docs :
390
+ docker :
391
+ - image : python:3.7.4
392
+ working_directory : /tmp/src/nipype
393
+ environment :
394
+ - FSLOUTPUTTYPE : ' NIFTI'
395
+ steps :
396
+ - checkout
397
+ - run :
398
+ name : Check Python version and upgrade pip
399
+ command : |
400
+ python --version
401
+ python -m pip install -U pip
402
+ - run :
403
+ name : Install graphviz
404
+ command : |
405
+ apt-get update
406
+ apt-get install -y graphviz
407
+ - run :
408
+ name : Install Requirements (may contain pinned versions)
409
+ command : python -m pip install -r doc/requirements.txt
410
+ - run :
411
+ name : Install NiPype
412
+ command : python -m pip install ".[doc]"
413
+ - run :
414
+ name : Build documentation
415
+ command : make -C doc html
416
+ - store_artifacts :
417
+ path : /tmp/src/nipype/doc/_build/html
418
+
428
419
workflows :
429
420
version : 2
430
421
build_test_deploy :
431
422
jobs :
423
+ - build_docs :
424
+ filters :
425
+ tags :
426
+ only : /.*/
432
427
- pypi_precheck :
433
428
filters :
434
429
branches :
435
- only : /rel\/.*/
430
+ only : /( rel|dev) \/.*/
436
431
tags :
437
432
only : /.*/
438
433
- compare_base_dockerfiles :
439
434
filters :
435
+ branches :
436
+ ignore :
437
+ - /docs?\/.*/
440
438
tags :
441
439
only : /.*/
442
440
- test_pytest :
443
441
filters :
442
+ branches :
443
+ ignore :
444
+ - /docs?\/.*/
444
445
tags :
445
446
only : /.*/
446
447
requires :
447
448
- compare_base_dockerfiles
448
- - test_py3_fmri_fsl_spm :
449
+ - test_fmri_fsl_spm :
450
+ filters :
451
+ branches :
452
+ ignore :
453
+ - /docs?\/.*/
449
454
requires :
450
455
- compare_base_dockerfiles
451
- - test_py3_fmri_spm_dartel_multiproc :
456
+ - test_fmri_spm_dartel_multiproc :
457
+ filters :
458
+ branches :
459
+ ignore :
460
+ - /docs?\/.*/
452
461
requires :
453
462
- compare_base_dockerfiles
454
463
- test_fmri_spm_nested_fsl_feeds :
464
+ filters :
465
+ branches :
466
+ ignore :
467
+ - /docs?\/.*/
455
468
requires :
456
469
- compare_base_dockerfiles
457
470
- deploy_dockerhub :
@@ -461,8 +474,8 @@ workflows:
461
474
requires :
462
475
- test_pytest
463
476
- test_fmri_spm_nested_fsl_feeds
464
- - test_py3_fmri_fsl_spm
465
- - test_py3_fmri_spm_dartel_multiproc
477
+ - test_fmri_fsl_spm
478
+ - test_fmri_spm_dartel_multiproc
466
479
- deploy_pypi :
467
480
filters :
468
481
branches :
0 commit comments