Skip to content

Commit 484fcc9

Browse files
authored
Merge pull request #1 from nipy/master
get update
2 parents 536c57d + 47fe00b commit 484fcc9

File tree

1,365 files changed

+81635
-73670
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,365 files changed

+81635
-73670
lines changed

.circleci/config.yml

+49-159
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,6 @@ _build_main_image_py36: &build_main_image_py36
5656
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
5757
--build-arg VERSION="${CIRCLE_TAG}" /home/circleci/nipype
5858
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-
7359
_download_test_data: &_download_test_data
7460
name: Download test data
7561
no_output_timeout: 20m
@@ -113,7 +99,6 @@ _run_codecov_smoke: &_run_codecov_smoke
11399
114100
version: 2
115101
jobs:
116-
117102
compare_base_dockerfiles:
118103
docker:
119104
- image: docker:17.10.0-ce-git
@@ -161,144 +146,32 @@ jobs:
161146
- run: *modify_nipype_version
162147
- run: *get_base_image
163148
- run: *build_main_image_py36
164-
- run: *build_main_image_py27
165149
- run: *_get_codecov
166150
- run: *_download_test_data
167151
- run: *prepare_working_directory
168152
- run:
169-
name: Run pytests (py36)
153+
name: Run pytests
170154
no_output_timeout: 30m
171155
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
178157
- run: *_run_codecov_coverage
179158
- store_artifacts: *store_artifacts_kwds
180159
- 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
188160
- run:
189161
name: Save Docker images to workspace if on master
190162
no_output_timeout: 60m
191163
command: |
192164
if [ "$CIRCLE_BRANCH" = "master" -a -z "$CIRCLE_PULL_REQUEST" ]; then
193165
docker save nipype/nipype:base \
194166
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
198169
fi
199170
- persist_to_workspace:
200171
root: /tmp
201172
paths:
202173
- docker
203174

204-
test_py3_fmri_fsl_spm:
205-
machine: *machine_kwds
206-
working_directory: /home/circleci/nipype
207-
steps:
208-
- checkout:
209-
path: /home/circleci/nipype
210-
- attach_workspace:
211-
at: /tmp
212-
- run: *set_pr_number
213-
- run: *generate_dockerfiles
214-
- run: *modify_nipype_version
215-
- run: *get_base_image
216-
- run: *build_main_image_py36
217-
- run: *_get_codecov
218-
- run: *_download_test_data
219-
- run: *prepare_working_directory
220-
- run:
221-
name: Run FSL reuse pipeline (py36)
222-
no_output_timeout: 40m
223-
environment: *test_environment
224-
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_fsl_reuse_linear_l1.sh
225-
- run:
226-
name: Run SPM test workflow - 3D inputs (py36)
227-
no_output_timeout: 40m
228-
environment: *test_environment
229-
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_linear_3d.sh
230-
- run:
231-
name: Run SPM test workflow - 4D inputs (py36)
232-
no_output_timeout: 40m
233-
environment: *test_environment
234-
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_linear_4d.sh
235-
- run: *_run_codecov_smoke
236-
- store_artifacts: *store_artifacts_kwds
237-
238-
test_py3_fmri_spm_dartel_multiproc:
239-
machine: *machine_kwds
240-
working_directory: /home/circleci/nipype
241-
steps:
242-
- checkout:
243-
path: /home/circleci/nipype
244-
- attach_workspace:
245-
at: /tmp
246-
- run: *set_pr_number
247-
- run: *generate_dockerfiles
248-
- run: *modify_nipype_version
249-
- run: *get_base_image
250-
- run: *build_main_image_py36
251-
- run: *_get_codecov
252-
- run: *_download_test_data
253-
- run: *prepare_working_directory
254-
- run:
255-
name: Run SPM DARTEL Level 1 pipeline (py36)
256-
no_output_timeout: 1h
257-
environment: *test_environment
258-
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_dartel_multiproc_l1.sh
259-
- run:
260-
name: Run SPM DARTEL Level 2 pipeline (py36)
261-
no_output_timeout: 30m
262-
environment: *test_environment
263-
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_dartel_multiproc_l2.sh
264-
- run: *_run_codecov_smoke
265-
- store_artifacts: *store_artifacts_kwds
266-
267-
test_fmri_spm_nested_fsl_feeds:
268-
machine: *machine_kwds
269-
working_directory: /home/circleci/nipype
270-
steps:
271-
- checkout:
272-
path: /home/circleci/nipype
273-
- attach_workspace:
274-
at: /tmp
275-
- run: *set_pr_number
276-
- run: *generate_dockerfiles
277-
- run: *modify_nipype_version
278-
- run: *get_base_image
279-
- run: *build_main_image_py36
280-
- run: *build_main_image_py27
281-
- run: *_get_codecov
282-
- run: *_download_test_data
283-
- run: *prepare_working_directory
284-
- run:
285-
name: Run SPM Nested Level 1 pipeline (py36)
286-
no_output_timeout: 1h
287-
environment: *test_environment
288-
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_nested_multiproc_l1.sh
289-
- run:
290-
name: Run SPM Nested Level 2 pipeline (py27)
291-
no_output_timeout: 30m
292-
environment: *test_environment
293-
command: bash -ux /home/circleci/nipype/.circleci/test_py2_fmri_spm_nested_multiproc_l2.sh
294-
- run:
295-
name: Run FSL FEEDS pipeline (py36)
296-
no_output_timeout: 40m
297-
environment: *test_environment
298-
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_fsl_feeds_linear_l1.sh
299-
- run: *_run_codecov_smoke
300-
- store_artifacts: *store_artifacts_kwds
301-
302175
deploy_dockerhub:
303176
docker:
304177
- image: docker:17.10.0-ce-git
@@ -310,7 +183,7 @@ jobs:
310183
name: Load saved Docker images.
311184
no_output_timeout: 60m
312185
command: |
313-
docker load < /tmp/docker/nipype-base-latest-py36-py27.tar.gz
186+
docker load < /tmp/docker/nipype-base-latest-py36.tar.gz
314187
- run:
315188
name: Push to DockerHub
316189
no_output_timeout: 120m
@@ -319,7 +192,6 @@ jobs:
319192
docker push nipype/nipype:base
320193
docker push nipype/nipype:latest
321194
docker push nipype/nipype:py36
322-
docker push nipype/nipype:py27
323195
- run:
324196
name: Move pruned Dockerfile to /tmp/docker/cache directory
325197
command: |
@@ -343,30 +215,20 @@ jobs:
343215
pip install --upgrade pip twine future wheel readme_renderer setuptools
344216
python setup.py sdist bdist_wheel
345217
twine check dist/*
346-
- run:
347-
name: Validate Python 2 installation
348-
command: |
349-
pyenv local 2.7.12
350-
pip install --upgrade pip
351-
pip install dist/nipype-*-py2.py3-none-any.whl
352-
# Futures should install in Python 2
353-
pip show futures 2>/dev/null | grep "Name: futures"
354218
- run:
355219
name: Validate Python 3 installation
356220
command: |
357221
pyenv local 3.6.5
358222
pip install --upgrade pip
359-
pip install dist/nipype-*-py2.py3-none-any.whl
360-
# Futures should not install in Python 3
361-
test $(pip show futures 2>/dev/null | wc -l) = "0"
223+
pip install dist/nipype-*-py3-none-any.whl
362224
- run:
363225
name: Validate Python 3.7 installation
364226
command: |
365227
pyenv local 3.7.0
366228
pip install --upgrade pip
367229
# Pre-install a version of numpy that will not pass
368230
pip install numpy==1.15.0
369-
pip install dist/nipype-*-py2.py3-none-any.whl
231+
pip install dist/nipype-*-py3-none-any.whl
370232
# Numpy should be upgraded to >= 1.15.3
371233
test "$(pip show numpy | grep Version)" \> "Version: 1.15.2"
372234
- run:
@@ -390,7 +252,7 @@ jobs:
390252
name: Deploy to PyPI
391253
command: |
392254
pyenv local 3.6.5
393-
pip install --upgrade twine future wheel readme_renderer setuptools
255+
pip install --upgrade twine wheel readme_renderer setuptools
394256
python setup.py check -r -s
395257
python setup.py sdist bdist_wheel
396258
twine upload dist/*
@@ -427,44 +289,72 @@ jobs:
427289
ssh-add ~/.ssh/id_ed25519
428290
/home/circleci/nipype/tools/feedstock.sh
429291
292+
build_docs:
293+
docker:
294+
- image: python:3.7.4
295+
working_directory: /tmp/src/nipype
296+
environment:
297+
- FSLOUTPUTTYPE: 'NIFTI'
298+
steps:
299+
- checkout
300+
- run:
301+
name: Check Python version and upgrade pip
302+
command: |
303+
python --version
304+
python -m pip install -U pip
305+
- run:
306+
name: Install graphviz
307+
command: |
308+
apt-get update
309+
apt-get install -y graphviz
310+
- run:
311+
name: Install Requirements (may contain pinned versions)
312+
command: python -m pip install -r doc/requirements.txt
313+
- run:
314+
name: Install NiPype
315+
command: python -m pip install ".[doc]"
316+
- run:
317+
name: Build documentation
318+
command: make -C doc html
319+
- store_artifacts:
320+
path: /tmp/src/nipype/doc/_build/html
321+
430322
workflows:
431323
version: 2
432324
build_test_deploy:
433325
jobs:
326+
- build_docs:
327+
filters:
328+
tags:
329+
only: /.*/
434330
- pypi_precheck:
435331
filters:
436332
branches:
437-
only: /rel\/.*/
333+
only: /(rel|dev)\/.*/
438334
tags:
439335
only: /.*/
440336
- compare_base_dockerfiles:
441337
filters:
338+
branches:
339+
ignore:
340+
- /docs?\/.*/
442341
tags:
443342
only: /.*/
444343
- test_pytest:
445344
filters:
345+
branches:
346+
ignore:
347+
- /docs?\/.*/
446348
tags:
447349
only: /.*/
448350
requires:
449351
- compare_base_dockerfiles
450-
- test_py3_fmri_fsl_spm:
451-
requires:
452-
- compare_base_dockerfiles
453-
- test_py3_fmri_spm_dartel_multiproc:
454-
requires:
455-
- compare_base_dockerfiles
456-
- test_fmri_spm_nested_fsl_feeds:
457-
requires:
458-
- compare_base_dockerfiles
459352
- deploy_dockerhub:
460353
filters:
461354
branches:
462355
only: master
463356
requires:
464357
- test_pytest
465-
- test_fmri_spm_nested_fsl_feeds
466-
- test_py3_fmri_fsl_spm
467-
- test_py3_fmri_spm_dartel_multiproc
468358
- deploy_pypi:
469359
filters:
470360
branches:

.circleci/test_py2_fmri_spm_nested_multiproc_l2.sh

-3
This file was deleted.

.circleci/test_py2_pytest.sh

-3
This file was deleted.

.circleci/test_py3_docs.sh

-3
This file was deleted.

.circleci/test_py3_fmri_fsl_feeds_linear_l1.sh

-3
This file was deleted.

.circleci/test_py3_fmri_fsl_reuse_linear_l1.sh

-3
This file was deleted.

.circleci/test_py3_fmri_spm_dartel_multiproc_l1.sh

-3
This file was deleted.

.circleci/test_py3_fmri_spm_dartel_multiproc_l2.sh

-3
This file was deleted.

.circleci/test_py3_fmri_spm_linear_3d.sh

-3
This file was deleted.

.circleci/test_py3_fmri_spm_linear_4d.sh

-3
This file was deleted.

.circleci/test_py3_fmri_spm_nested_multiproc_l1.sh

-3
This file was deleted.
File renamed without changes.

.dockerignore

+2-3
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,12 @@ src/
2222
.git
2323

2424
# other
25-
docs/**/*
26-
docs/
25+
doc/**/*
26+
doc/
2727
.cache/
2828
.circle/**/*
2929
.circle/
3030
circle.yml
31-
rtd_requirements.txt
3231
Vagrantfile
3332
.travis.yml
3433
.mailmap

.et

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{ "bad_versions" : [ "1.2.1",
2-
"1.2.3"]
3-
}
2+
"1.2.3",
3+
"1.3.0"]
4+
}

.github/workflows/main.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
on: [status]
2+
jobs:
3+
circleci_artifacts_redirector_job:
4+
runs-on: ubuntu-latest
5+
name: Run CircleCI artifacts redirector
6+
steps:
7+
- name: GitHub Action step
8+
uses: larsoner/circleci-artifacts-redirector-action@master
9+
with:
10+
repo-token: ${{ secrets.GITHUB_TOKEN }}
11+
artifact-path: 0/tmp/src/nipype/doc/_build/html/index.html
12+
circleci-jobs: build_docs

0 commit comments

Comments
 (0)