Skip to content

antsRegistrationSyNQuick (continuation of #1392) #2347

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 485 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
485 commits
Select commit Hold shift + click to select a range
1978af2
Merge branch 'fix/multi-proc-cwd' into maint/node-hash
oesteban Jan 18, 2018
1fb84b1
Merge branch 'master' into pbs_plugin_fix
achetverikov Jan 18, 2018
6c9f69f
Added myself to .zenodo.json
achetverikov Jan 18, 2018
5836856
Merged .zenodo.json conflict
achetverikov Jan 18, 2018
eff7b43
Changed PBS plugin output to file_split
achetverikov Jan 18, 2018
9a6e7cb
remove install_aliases
oesteban Jan 18, 2018
1d38127
fix error type
oesteban Jan 18, 2018
e92ffa4
FIX: Collect jobids in a numpy 1.9 compatible manner
effigies Jan 18, 2018
c697018
ENH: Add _cmd_prefix class variable to CommandLine
effigies Jan 18, 2018
c1a71f3
ENH: Update cmdline overrides
effigies Jan 18, 2018
80d3f05
Merge pull request #2349 from djarecka/FSSourceInputSpec
effigies Jan 18, 2018
a29f347
Merge branch 'master' into fix_plugin_base_p3
effigies Jan 18, 2018
f28ead6
Move BIDSGrabber to interfaces.io
mvdoc Dec 10, 2017
a9b2609
add runtime.cwd to report.rst
oesteban Jan 18, 2018
7411d6f
Update output traits for BIDSDataGrabber
mvdoc Dec 10, 2017
d650d7a
Update auto test for BIDSDataGrabber
mvdoc Dec 10, 2017
3352ae6
Rename test
mvdoc Dec 10, 2017
1286d1c
Merge remote-tracking branch 'upstream/master' into fix/displaynumber
oesteban Jan 18, 2018
22c1a27
update travis
oesteban Jan 18, 2018
ae3fd02
Merge pull request #2376 from oesteban/maint/engine-base
effigies Jan 18, 2018
277376a
Merge branch 'master' of github.com:nipy/nipype into bidsdatagrabber
mvdoc Jan 18, 2018
0b75a69
Add BIDSDataGrabber to __init__.py
mvdoc Jan 18, 2018
bd211d4
Update changelog
mvdoc Jan 18, 2018
433f069
Merge remote-tracking branch 'origin/master' into afni/convertdset
mvdoc Jan 18, 2018
15ff070
Add ConvertDset to __init__.py
mvdoc Jan 18, 2018
6bfce44
Use AFNICommandInputSpec for ConvertdsetInputSpec
mvdoc Jan 18, 2018
2957ef8
Update changelog
mvdoc Jan 18, 2018
6ad3247
Merge remote-tracking branch 'origin/master' into afni/deconvolve
mvdoc Jan 18, 2018
c4d6e31
Remove out_file if x1d_stop set to True
mvdoc Jan 18, 2018
ba25260
Merge upstream/master
effigies Jan 18, 2018
6dd7703
Merge pull request #2344 from achetverikov/pbs_plugin_fix
mgxd Jan 19, 2018
86cac7b
Merge remote-tracking branch 'upstream/master' into fix/multi-proc-cwd
oesteban Jan 19, 2018
af6c708
sty changes
oesteban Jan 19, 2018
28e2cd6
Merge remote-tracking branch 'upstream/master' into fix/displaynumber
oesteban Jan 19, 2018
9cc40da
revise tests
oesteban Jan 19, 2018
7ce5bb4
Merge pull request #2378 from effigies/fix/jobids
oesteban Jan 19, 2018
7d80634
roll back travis setting
oesteban Jan 19, 2018
6c80289
Merge pull request #2337 from mvdoc/afni/convertdset
effigies Jan 19, 2018
157d3bd
Merge pull request #2359 from mfalkiewicz/fix_plugin_base_p3
effigies Jan 19, 2018
b567e0a
Merge remote-tracking branch 'upstream/master' into dtitk
effigies Jan 19, 2018
da31236
make specs
effigies Jan 19, 2018
f60c149
TEST: Drop extra auto test
effigies Jan 19, 2018
ce6f37c
Merge pull request #2364 from mgxd/fix/nodelog
mgxd Jan 19, 2018
889115d
Merge upstream/master [skip ci]
effigies Jan 19, 2018
2649d78
Merge pull request #2336 from mvdoc/bidsdatagrabber
effigies Jan 19, 2018
aa6b7cf
doc: add porcupine to quickstart
mgxd Jan 19, 2018
6096f92
Merge pull request #2382 from mgxd/doc/pork
effigies Jan 19, 2018
0e2abb1
[skip ci] Merge remote-tracking branch 'upstream/master' into fix/mul…
oesteban Jan 19, 2018
5b5547b
[skip ci] Merge branch 'fix/multi-proc-cwd' of github.com:oesteban/ni…
oesteban Jan 19, 2018
f3b0912
Merge pull request #2368 from oesteban/fix/multi-proc-cwd
effigies Jan 19, 2018
c20e7f0
Merge remote-tracking branch 'upstream/master' into maint/node-hash
oesteban Jan 19, 2018
c08d84e
fix magic number
oesteban Jan 19, 2018
f273d18
[skip ci] comment at the right spot
oesteban Jan 19, 2018
1b76794
Merge branch 'master' into RealignInputSpec_update
mgxd Jan 19, 2018
9ccb076
new robust getcwd
oesteban Jan 19, 2018
4798ba2
Rename extra test, add auto test
mvdoc Jan 19, 2018
00d5a81
run test in temp dir
oesteban Jan 19, 2018
653f690
update nilearn interface to use runtime.cwd
oesteban Jan 19, 2018
533c247
update CHANGES (close #2380)
oesteban Jan 19, 2018
603ae77
Merge upstream/master [skip ci]
effigies Jan 19, 2018
3c43f0c
Merge pull request #2363 from oesteban/fix/displaynumber
effigies Jan 19, 2018
f4c3db7
roll back nilearn interface
oesteban Jan 19, 2018
8c61abf
use runtime.prevcwd
oesteban Jan 19, 2018
46e4009
Merge pull request #2375 from djarecka/RealignInputSpec_update
mgxd Jan 19, 2018
eb95fc8
roll CHANGES back
oesteban Jan 19, 2018
f5e5f13
do not allow duplication of needed_outputs
oesteban Jan 20, 2018
04d8e0e
Merge pull request #2334 from mvdoc/afni/deconvolve
effigies Jan 20, 2018
f8472df
TEST/RF: Check modified command + helper command
effigies Jan 19, 2018
4c202a9
Merge pull request #2384 from oesteban/fix/2380
satra Jan 20, 2018
73e4d9a
FIX: OSError -> IOError
effigies Jan 20, 2018
d491c8b
RF: Use shlex to correctly identify the executable
effigies Jan 20, 2018
2d3028c
ENH: Better emulate Python 3.3+ shutil.which
effigies Jan 20, 2018
de467ce
No longer concatenating extensions
TheChymera Jan 19, 2018
822d34d
FIX: Check correct path
effigies Jan 21, 2018
e125c95
Merge pull request #2381 from TheChymera/png_
effigies Jan 21, 2018
6d65cbb
fixing test_input_version (showing that maximum version check doesnt …
djarecka Jan 21, 2018
955b3ad
fixing _check_version_requirements, so it also checks maximal version
djarecka Jan 21, 2018
1c174df
Merge pull request #2185 from kesshijordan/dtitk
mgxd Jan 21, 2018
40a0804
fixing and splitting test_input_version
djarecka Jan 21, 2018
3549566
removing _requires_warn (not used)
djarecka Jan 21, 2018
1794004
removing _hash_infile (not used)
djarecka Jan 21, 2018
cc4c418
changing __pretty__ to _repr_pretty_
djarecka Jan 21, 2018
36ffda1
changing name MultiPath to MultiObject
djarecka Jan 22, 2018
ab8ae1a
File(Directory) class didnt dffer from BaseFile(Directory), i.e. didn…
djarecka Jan 22, 2018
af57b41
enh: update zenodo entries
mgxd Jan 22, 2018
a984656
Merge branch 'master' of git://github.com/nipy/nipype into rel/1.0
mgxd Jan 22, 2018
2c855f0
add: missing autotests
mgxd Jan 22, 2018
d9c7c27
maint: add yapf to dependencies
mgxd Jan 22, 2018
efb045b
maint: update mailmap + fix spacing in docs
mgxd Jan 22, 2018
252a745
Revert "changing name MultiPath to MultiObject"
djarecka Jan 22, 2018
b3dacd0
FIX: Re-apply SignalExtraction test fix
oesteban Jan 19, 2018
11212a4
removing extra line from misc.py
djarecka Jan 22, 2018
c1ab001
a small changes of comments about synchronize
djarecka Jan 22, 2018
0ba35f1
Merge pull request #2379 from effigies/enh/command_prefix
satra Jan 22, 2018
1841741
fix: remove yapf from runtime reqs
mgxd Jan 22, 2018
5c41dad
[DOC] Update CONTRIBUTING [skip ci]
emdupre Jan 22, 2018
3f5e185
Merge pull request #2387 from djarecka/interfaces_base_2320
effigies Jan 22, 2018
2b671fa
Update enthought links [skip ci]
emdupre Jan 23, 2018
a2d054a
Merge pull request #2383 from oesteban/maint/node-hash
satra Jan 23, 2018
ad59bad
Allow input weight for AFNI's volreg.
williford Jan 23, 2018
8043fc6
Merge pull request #2389 from mgxd/rel/1.0
effigies Jan 23, 2018
b9a38d1
Patch markdown links [skip ci]
emdupre Jan 23, 2018
b2cae78
RF: Use consistent dot file renaming scheme
effigies Jan 23, 2018
f627c5f
DOC: Update tutorial notebook
effigies Jan 23, 2018
2b33d79
Bug fixes for afni.model
emdupre Jan 23, 2018
50b8500
doc: update changelog
mgxd Jan 23, 2018
dd2fb79
Merge pull request #2397 from effigies/fix/write_graph [skip ci]
effigies Jan 23, 2018
6aaa85a
Address review comments for contributing [skip-ci]
emdupre Jan 23, 2018
9f3bd59
Merge pull request #2393 from emdupre/contributing-docs
mgxd Jan 24, 2018
94db50f
rel: 1.0.0
mgxd Jan 24, 2018
10694b8
fix: changelog [skip ci]
mgxd Jan 24, 2018
dffae4f
Extend extra Deconvolve test
emdupre Jan 23, 2018
0a5948a
Merge pull request #2399 from mgxd/rel/1.0.0
mgxd Jan 25, 2018
7dd8e79
maint: move out of release mode
mgxd Jan 25, 2018
50c7cb0
nipype/utils/filemanip.py::nipype.utils.filemanip.fname_presuffix PAS…
oesteban Jan 26, 2018
3770427
FIX: PipeFunc __repr__ format string
effigies Jan 26, 2018
03ac155
Merge pull request #2403 from mgxd/rel/post-1.0.0
effigies Jan 26, 2018
2c35800
Merge pull request #2398 from emdupre/afni-synthesize
effigies Jan 26, 2018
90fcfaf
Merge remote-tracking branch 'upstream/master' into afni_volreg_inwei…
effigies Jan 26, 2018
c0ebefd
ENH: Override _format_arg, make specs
effigies Jan 26, 2018
8579a3c
deal reliably with errors while checking hash
oesteban Jan 26, 2018
4148881
add longer description to warning
oesteban Jan 26, 2018
0561308
improve message, fix error in logging
oesteban Jan 27, 2018
e722da7
fix setting inputs.ignore_exception
oesteban Jan 27, 2018
ba378cb
remove a leftover inputs.ignore_exception
oesteban Jan 27, 2018
f9809fb
Merge pull request #2412 from oesteban/fix/master
satra Jan 27, 2018
13bd084
Revert "[FIX,WIP] Setting inputs.ignore_exception"
satra Jan 27, 2018
039b556
Merge pull request #2413 from nipy/revert-2412-fix/master
satra Jan 27, 2018
87ef62f
make ignore_exception a class attribute
oesteban Jan 27, 2018
23b6c94
Merge remote-tracking branch 'upstream/master' into fix/master
oesteban Jan 27, 2018
5cc98f5
redo changes
oesteban Jan 27, 2018
c28dbd4
Merge pull request #2414 from oesteban/fix/master
oesteban Jan 28, 2018
abb3e2c
Merge pull request #2405 from oesteban/enh/add-hashfile-tests
oesteban Jan 29, 2018
4eedc7f
Merge remote-tracking branch 'upstream/master' into enh/error-checkin…
oesteban Jan 29, 2018
a627ced
[skip ci] Add missing changelog entry
oesteban Jan 29, 2018
b3fa687
minor fixes
oesteban Jan 29, 2018
a3722aa
do not access _id on nodes for logging
oesteban Jan 29, 2018
28c9513
BF: fix ortvec argstr
mvdoc Jan 29, 2018
f98432c
Merge pull request #2415 from mvdoc/bf/deconvolveortvec
effigies Jan 30, 2018
c91b893
Merge pull request #2407 from effigies/fix/pipefunc_repr_format_string
effigies Jan 30, 2018
b42f6a4
FIX: Default value for sbatch_args (SLURMGraph)
brennerd11 Oct 29, 2015
919da89
updated PR
brennerd11 Jan 14, 2016
79d30b4
Merge pull request #2417 from effigies/fix-slurmgraph-sbatch_default_arg
effigies Jan 30, 2018
1bbe7d3
FIX: argstr for mask in BlurToFWHM
mvdoc Jan 30, 2018
59718d8
Merge remote-tracking branch 'upstream/master' into afni_volreg_inwei…
effigies Jan 30, 2018
db72d88
Merge pull request #2418 from mvdoc/fix/blurtofwhm
effigies Jan 31, 2018
d59a09c
FIX: check value type against tuple, not Tuple
effigies Jan 31, 2018
bd9bb0d
ENH: Re-enable spm.Realign to take lists of lists of files
effigies Jan 26, 2018
3abb67d
Revert "ENH: Re-enable spm.Realign to take lists of lists of files"
effigies Feb 1, 2018
12f348d
Revert "changing in_files in RealignInputSpec"
effigies Feb 1, 2018
c0b0f6a
ENH: Simplify listifying logic
effigies Feb 1, 2018
a84c8e8
ENH: Add info to ImageFile for better error messages
effigies Feb 1, 2018
3cdb657
ENH: Reorder traits for better error message
effigies Feb 1, 2018
bf5ccb2
fix: remove deprecated output from _list_outputs
mgxd Feb 1, 2018
47f793e
FIX: Do not cache grab_exts
effigies Feb 1, 2018
834ccac
fix out_file template bugs
salma1601 Feb 2, 2018
97f2217
Merge pull request #2422 from mgxd/fix/icc
mgxd Feb 2, 2018
b2c7130
Merge pull request #2424 from salma1601/afni_typos
effigies Feb 2, 2018
908e326
ENH: add interface for AFNI 3dTproject
mvdoc Feb 2, 2018
8425ebd
fix: updated custom search to current api
satra Feb 3, 2018
49af623
Fix input argstr
mvdoc Feb 3, 2018
75b66ba
FIX: fix out_file when censor_motion is passed in OneDToolPy
mvdoc Feb 3, 2018
fd1037e
Add auto test for TProject, pepify out_file for OneDTool
mvdoc Feb 3, 2018
d3a7526
Fix doctest
mvdoc Feb 3, 2018
c7492c8
Merge pull request #2410 from oesteban/enh/error-checking-local-cache
satra Feb 5, 2018
872d749
Merge pull request #2409 from effigies/enh/spm_realign_in_list_of_lists
satra Feb 5, 2018
d4ff0ed
Merge remote-tracking branch 'upstream/master' into fix/search
satra Feb 5, 2018
d4658cf
ENH: add -noFDR option to 3dDeconvolve
mvdoc Feb 6, 2018
d40a627
ENH: set correct number of jobs/threads for 3dDeconvolve
mvdoc Feb 6, 2018
e511566
fstype parsing for cifs can fail on Mac OS
afni-dglen Feb 7, 2018
547e2de
fstype parsing for cifs can fail on Mac OS
afni-dglen Feb 7, 2018
168dfee
Merge pull request #2396 from VisionandCognition/afni_volreg_inweightvol
effigies Feb 7, 2018
c8edc2f
Fix issue #2408
jguillon Feb 7, 2018
a0d48fd
more proper integration
afni-dglen Feb 7, 2018
9e763ba
tab/space fix
afni-dglen Feb 7, 2018
d7a8085
Merge pull request #2425 from satra/fix/search
satra Feb 7, 2018
9d96f4e
REF: jobs -> num_threads in 3dDeconvolve for consistency
mvdoc Feb 7, 2018
b7ea933
Fixes to 3dTProject args
mvdoc Feb 7, 2018
ae7dc34
Set nohash for num_threads in 3dDeconvolve
mvdoc Feb 7, 2018
4f49bf4
enh: add c3d and c4d interface
mgxd Feb 7, 2018
234c555
enh+sty: autotest and styling
mgxd Feb 7, 2018
9612144
Change auto test accordingly
jguillon Feb 8, 2018
e6dad8f
Fix expected CL in doctest
jguillon Feb 8, 2018
392cc12
sty: pep8 and better error messages
mgxd Feb 8, 2018
ab9f3ea
fix: syntax
mgxd Feb 8, 2018
4c81184
fix: set _id property of cloned node too
mgxd Feb 8, 2018
1f990d9
enh: add test from #2431
mgxd Feb 8, 2018
50d1bfd
Merge pull request #2429 from jguillon/fix/dwi2response
mgxd Feb 8, 2018
b91560c
enh: improve travis build reliability
mgxd Feb 8, 2018
e98cf31
sty: spacing
mgxd Feb 9, 2018
ecb1f8f
Merge pull request #2433 from mgxd/fix/trav
satra Feb 9, 2018
2c0edaa
Merge pull request #2430 from mgxd/enh/c4d
satra Feb 9, 2018
db26703
Merge pull request #2432 from mgxd/fix/clone
satra Feb 9, 2018
f58ab2f
FIX: Update pybids data directory
effigies Feb 12, 2018
f1e0b19
DOC: Use pip-packaged numpydoc
effigies Feb 12, 2018
765b0fc
Merge pull request #2437 from effigies/test/update_bids_data
satra Feb 12, 2018
3adfd64
Merge branch 'master' into enh/3dtproject
mvdoc Feb 12, 2018
e0d829e
Merge pull request #2426 from mvdoc/enh/3dtproject
effigies Feb 13, 2018
02607b8
TEST: Split Circle workflow
effigies Jan 20, 2018
700ba29
FIX: Remove setup_remote_docker from fetch/build
effigies Jan 20, 2018
c2b0ebc
CI: Build in serial, to reduce save/load steps
effigies Jan 20, 2018
ab1e6b5
CI: Add two tests in parallel
effigies Jan 20, 2018
34ea718
CI: Remove duplicate steps
effigies Jan 20, 2018
2c66278
CI: Full test suite
effigies Jan 20, 2018
7d7ff19
CI: Add explicit directory to source lines
effigies Jan 20, 2018
0dba542
CI: Install codecov on test jobs
effigies Jan 20, 2018
83a1530
CI: Use runtimes to regroup tests
effigies Jan 21, 2018
a5c8228
CI: Move to docker, attempt to use cache-from
effigies Jan 24, 2018
36e8f69
CI: Install dependencies
effigies Jan 24, 2018
49f7c69
REV: Restore 610e571
effigies Jan 25, 2018
b6932b3
CI: Build images in each job
effigies Jan 25, 2018
7e6760b
TEST: Move DARTEL to MultiProc
effigies Jan 25, 2018
1e9e541
CI: Split tests in config, for timing steps
effigies Jan 25, 2018
d0848ad
Remove old test script
effigies Jan 25, 2018
3cf0d76
CI: Re-add WORKDIR variable, timeouts
effigies Jan 25, 2018
98fd2c1
enh: use yaml pointers to reduce duplication
Feb 10, 2018
c1487e7
TEST: Set WORKDIR if WORKDIR unset
effigies Feb 14, 2018
d204848
CI: Move codecov into CI step
effigies Feb 14, 2018
e5be9ac
CI: Replace test_init with DOCKER_IMAGE, -ux
effigies Feb 14, 2018
60d822b
ENH: Move doc building, save artifacts
effigies Feb 14, 2018
e32cbcc
CI: Run codecov in WORKDIR
effigies Feb 14, 2018
a06530e
CI: Split coverage and smoke tests, un-quote asterisks
effigies Feb 14, 2018
a9c170a
CI: Do not save docker images pointlessly
effigies Feb 14, 2018
f28c479
CI: Store test results
effigies Feb 14, 2018
8982b27
CI: Update environment in attempt to bump codecov
effigies Feb 14, 2018
d424f91
CI: Attempt #2 setting PR number
effigies Feb 14, 2018
166e06c
Merge pull request #2386 from effigies/ci/workflow
satra Feb 15, 2018
832fecf
RF: Update and factor mount table parsing code
effigies Feb 16, 2018
0f4b40b
TEST: Add tests for mount table parsing
effigies Feb 16, 2018
9476963
Merge remote-tracking branch 'upstream/master' into fix/filesystem_table
effigies Feb 16, 2018
e8b0341
STY: flake8
effigies Feb 16, 2018
0e3ea76
Datagrabber bug with the flag raise_on_empty
anbai106 Feb 10, 2017
d573790
bug for datagrabber #1783
anbai106 Feb 15, 2018
b8eda2d
ENH: Add drop_blank_outputs input field
effigies Feb 16, 2018
7f6f35f
Merge pull request #2444 from effigies/fix/filesystem_table
satra Feb 16, 2018
628bdd5
Merge pull request #1915 from anbai106/anbai
mgxd Feb 16, 2018
c372aae
COV: Ignore tests in calculating coverage
effigies Feb 15, 2018
415b0b8
COV: Drop examples, superfluous globs
effigies Feb 17, 2018
acd1a4c
Merge pull request #2443 from effigies/coverage
satra Feb 17, 2018
60f3d26
CI: Add doctests to pytest script
effigies Feb 17, 2018
5f365a6
TEST: Use pytest.ini to enable doctests
effigies Feb 18, 2018
a374998
Merge pull request #2449 from nipy/effigies-patch-2
effigies Feb 18, 2018
e2571dc
fix: create both workflow options
satra Feb 19, 2018
40aa316
tst: remove workflows/dmri/fsl regression tests from pytests
satra Feb 19, 2018
951bacd
fix: rename variable to not reflect imported module
satra Feb 19, 2018
4a71c12
fix: tbss3 should warn and return workflow when FSL not available
satra Feb 19, 2018
6a026ac
fix: tbss3 should warn and return workflow when FSL not available
satra Feb 19, 2018
1a1f9fd
Merge pull request #2451 from satra/fix/tests
satra Feb 19, 2018
b44bce4
fix: use matlab_cmd provided as input closes #2442
satra Feb 19, 2018
63c9fde
conflicts
djarecka Feb 20, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
348 changes: 259 additions & 89 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,121 @@
_machine_kwds: &machine_kwds
image: circleci/classic:201710-02

_store_artifacts_kwds: &store_artifacts_kwds
path: /home/circleci/work/tests

_test_environment: &test_environment
WORKDIR: /home/circleci/work
DOCKER_IMAGE: "nipype/nipype"

_set_pr_number: &set_pr_number
name: Set PR number
command: |
echo 'export CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}"' >> $BASH_ENV
source $BASH_ENV
echo $CIRCLE_PR_NUMBER

_generate_dockerfiles: &generate_dockerfiles
name: Generate Dockerfiles
command: |
make gen-dockerfiles

_modify_nipype_version: &modify_nipype_version
name: Modify Nipype version if necessary
command: |
if [ "$CIRCLE_TAG" != "" ]; then
sed -i -E "s/(__version__ = )'[A-Za-z0-9.-]+'/\1'$CIRCLE_TAG'/" nipype/info.py
fi

_get_base_image: &get_base_image
name: Get base image (pull or build)
no_output_timeout: 60m
command: |
source /tmp/docker/get_base_image.sh
if [ "$GET_BASE" == "PULL" ]; then
echo "Pulling base image ..."
docker pull nipype/nipype:base
elif [ "$GET_BASE" == "BUILD" ]; then
e=1 && for i in {1..5}; do
docker build -t nipype/nipype:base - < docker/Dockerfile.base && e=0 && break || sleep 15
done && [ "$e" -eq "0" ]
else
echo "Error: method to get base image not understood"
exit 1
fi

_build_main_image_py36: &build_main_image_py36
name: Build main image (py36)
no_output_timeout: 60m
command: |
e=1 && for i in {1..5}; do
docker build \
--rm=false \
--tag nipype/nipype:latest \
--tag nipype/nipype:py36 \
--build-arg BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
--build-arg VERSION="${CIRCLE_TAG}" /home/circleci/nipype \
&& e=0 && break || sleep 15
done && [ "$e" -eq "0" ]

_build_main_image_py27: &build_main_image_py27
name: Build main image (py27)
no_output_timeout: 60m
command: |
e=1 && for i in {1..5}; do
docker build \
--rm=false \
--tag nipype/nipype:py27 \
--build-arg PYTHON_VERSION_MAJOR=2 \
--build-arg PYTHON_VERSION_MINOR=7 \
--build-arg BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
--build-arg VERSION="${CIRCLE_TAG}-py27" /home/circleci/nipype \
&& e=0 && break || sleep 15
done && [ "$e" -eq "0" ]

_download_test_data: &_download_test_data
name: Download test data
no_output_timeout: 20m
working_directory: /home/circleci/examples
environment:
OSF_NIPYPE_URL: "https://files.osf.io/v1/resources/nefdp/providers/osfstorage"
command: |
export DATA_NIPYPE_TUTORIAL_URL="${OSF_NIPYPE_URL}/57f4739cb83f6901ed94bf21"
curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_TUTORIAL_URL" | tar xj

export DATA_NIPYPE_FSL_COURSE="${OSF_NIPYPE_URL}/57f472cf9ad5a101f977ecfe"
curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_COURSE" | tar xz

export DATA_NIPYPE_FSL_FEEDS="${OSF_NIPYPE_URL}/57f473066c613b01f113e7af"
curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_FEEDS" | tar xz

_prepare_working_directory: &prepare_working_directory
name: Prepare working directory
environment: *test_environment
command: |
mkdir -p "$WORKDIR"
chmod -R 777 "$WORKDIR"

_get_codecov: &_get_codecov
name: Get codecov
command: |
pip install --no-cache-dir codecov

_run_codecov_coverage: &_run_codecov_coverage
name: Run codecov (coverage)
environment: *test_environment
command: |
codecov --file $WORKDIR/tests/coverage*.xml --root "$HOME/nipype" --flags unittests -e CIRCLE_JOB

_run_codecov_smoke: &_run_codecov_smoke
name: Run codecov (smoke tests)
environment: *test_environment
command: |
codecov --file $WORKDIR/tests/smoketest*.xml --root "$HOME/nipype" --flags smoketests -e CIRCLE_JOB


version: 2
jobs:

Expand Down Expand Up @@ -35,116 +153,156 @@ jobs:
- docker/Dockerfile.base-pruned
- docker/get_base_image.sh

test_pytest:
machine: *machine_kwds
working_directory: /home/circleci/nipype
steps:
- checkout:
path: /home/circleci/nipype
- attach_workspace:
at: /tmp
- run: *set_pr_number
- run: *generate_dockerfiles
- run: *modify_nipype_version
- run: *get_base_image
- run: *build_main_image_py36
- run: *build_main_image_py27
- run: *_get_codecov
- run: *_download_test_data
- run: *prepare_working_directory
- run:
name: Run pytests (py36)
no_output_timeout: 30m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_pytest.sh
- run:
name: Run pytests (py27)
no_output_timeout: 30m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py2_pytest.sh
- run: *_run_codecov_coverage
- store_artifacts: *store_artifacts_kwds
- store_test_results: *store_artifacts_kwds

build_and_test:
parallelism: 4
machine:
# Ubuntu 14.04 with Docker 17.10.0-ce
image: circleci/classic:201710-02
test_py3_fmri_fsl_spm:
machine: *machine_kwds
working_directory: /home/circleci/nipype
steps:
- checkout:
path: /home/circleci/nipype
- attach_workspace:
at: /tmp
- run: *set_pr_number
- run: *generate_dockerfiles
- run: *modify_nipype_version
- run: *get_base_image
- run: *build_main_image_py36
- run: *_get_codecov
- run: *_download_test_data
- run: *prepare_working_directory
- run:
name: Get test dependencies and generate Dockerfiles
command: |
pip install --no-cache-dir codecov
make gen-dockerfiles
name: Run FSL FEEDS pipeline (py36)
no_output_timeout: 40m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_fsl_feeds_linear_l1.sh
- run:
name: Modify Nipype version if necessary
command: |
if [ "$CIRCLE_TAG" != "" ]; then
sed -i -E "s/(__version__ = )'[A-Za-z0-9.-]+'/\1'$CIRCLE_TAG'/" nipype/info.py
fi
name: Run FSL reuse pipeline (py36)
no_output_timeout: 40m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_fsl_reuse_linear_l1.sh
- run:
name: Get base image (pull or build)
no_output_timeout: 60m
command: |
source /tmp/docker/get_base_image.sh
if [ "$GET_BASE" == "PULL" ]; then
echo "Pulling base image ..."
docker pull nipype/nipype:base
elif [ "$GET_BASE" == "BUILD" ]; then
e=1 && for i in {1..5}; do
docker build -t nipype/nipype:base - < docker/Dockerfile.base && e=0 && break || sleep 15
done && [ "$e" -eq "0" ]
else
echo "Error: method to get base image not understood"
exit 1
fi
name: Run SPM test workflow - 3D inputs (py36)
no_output_timeout: 40m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_linear_3d.sh
- run:
name: Build main image (py36)
no_output_timeout: 60m
command: |
e=1 && for i in {1..5}; do
docker build \
--rm=false \
--tag nipype/nipype:latest \
--tag nipype/nipype:py36 \
--build-arg BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
--build-arg VERSION="${CIRCLE_TAG}" /home/circleci/nipype \
&& e=0 && break || sleep 15
done && [ "$e" -eq "0" ]
- run:
name: Build main image (py27)
no_output_timeout: 60m
command: |
e=1 && for i in {1..5}; do
docker build \
--rm=false \
--tag nipype/nipype:py27 \
--build-arg PYTHON_VERSION_MAJOR=2 \
--build-arg PYTHON_VERSION_MINOR=7 \
--build-arg BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
--build-arg VERSION="${CIRCLE_TAG}-py27" /home/circleci/nipype \
&& e=0 && break || sleep 15
done && [ "$e" -eq "0" ]
- run:
name: Download test data
no_output_timeout: 20m
working_directory: /home/circleci/examples
environment:
OSF_NIPYPE_URL: "https://files.osf.io/v1/resources/nefdp/providers/osfstorage"
command: |
export DATA_NIPYPE_TUTORIAL_URL="${OSF_NIPYPE_URL}/57f4739cb83f6901ed94bf21"
curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_TUTORIAL_URL" | tar xj
name: Run SPM test workflow - 4D inputs (py36)
no_output_timeout: 40m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_linear_4d.sh
- run: *_run_codecov_smoke
- store_artifacts: *store_artifacts_kwds

export DATA_NIPYPE_FSL_COURSE="${OSF_NIPYPE_URL}/57f472cf9ad5a101f977ecfe"
curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_COURSE" | tar xz
test_py3_fmri_spm_dartel_multiproc:
machine: *machine_kwds
working_directory: /home/circleci/nipype
steps:
- checkout:
path: /home/circleci/nipype
- attach_workspace:
at: /tmp
- run: *set_pr_number
- run: *generate_dockerfiles
- run: *modify_nipype_version
- run: *get_base_image
- run: *build_main_image_py36
- run: *_get_codecov
- run: *_download_test_data
- run: *prepare_working_directory
- run:
name: Run SPM DARTEL Level 1 pipeline (py36)
no_output_timeout: 1h
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_dartel_multiproc_l1.sh
- run:
name: Run SPM DARTEL Level 2 pipeline (py36)
no_output_timeout: 30m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_dartel_multiproc_l2.sh
- run: *_run_codecov_smoke
- store_artifacts: *store_artifacts_kwds

export DATA_NIPYPE_FSL_FEEDS="${OSF_NIPYPE_URL}/57f473066c613b01f113e7af"
curl -sSL --retry 5 --connect-timeout 15 "$DATA_NIPYPE_FSL_FEEDS" | tar xz
test_fmri_spm_nested_multiproc:
machine: *machine_kwds
working_directory: /home/circleci/nipype
steps:
- checkout:
path: /home/circleci/nipype
- attach_workspace:
at: /tmp
- run: *set_pr_number
- run: *generate_dockerfiles
- run: *modify_nipype_version
- run: *get_base_image
- run: *build_main_image_py36
- run: *build_main_image_py27
- run: *_get_codecov
- run: *_download_test_data
- run: *prepare_working_directory
- run:
name: Run tests
no_output_timeout: 4h
environment:
WORKDIR: /home/circleci/work
command: |
mkdir -p "$WORKDIR"
chmod -R 777 "$WORKDIR"
bash /home/circleci/nipype/.circleci/tests.sh
name: Run SPM Nested Level 1 pipeline (py36)
no_output_timeout: 1h
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_fmri_spm_nested_multiproc_l1.sh
- run:
name: Run SPM Nested Level 2 pipeline (py27)
no_output_timeout: 30m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py2_fmri_spm_nested_multiproc_l2.sh
- run: *_run_codecov_smoke
- store_artifacts: *store_artifacts_kwds
- run:
name: Build docs (py36)
no_output_timeout: 30m
environment: *test_environment
command: bash -ux /home/circleci/nipype/.circleci/test_py3_docs.sh
- store_artifacts:
path: /home/circleci/work/tests
path: /home/circleci/work/docs
- run:
name: Save Docker images to workspace
name: Save Docker images to workspace if on master
no_output_timeout: 60m
command: |
if [ "$CIRCLE_NODE_INDEX" -eq "0" ] && [ "$CIRCLE_BRANCH" == "master" ]; then
if [ "$CIRCLE_BRANCH" = "master" -a -z "$CIRCLE_PULL_REQUEST" ]; then
docker save nipype/nipype:base \
nipype/nipype:latest \
nipype/nipype:py36 \
nipype/nipype:py27 | gzip -1 > /tmp/docker/nipype-base-latest-py36-py27.tar.gz
du -h /tmp/docker/nipype-base-latest-py36-py27.tar.gz
nipype/nipype:py27 \
nipype/nipype:py36 | gzip -1 > /tmp/docker/nipype-base-latest-py36-py27.tar.gz \
&& du -h /tmp/docker/nipype-base-latest-py36-py27.tar.gz
fi
- persist_to_workspace:
root: /tmp
paths:
- docker/*

- docker

deploy:
docker:
Expand Down Expand Up @@ -180,15 +338,27 @@ jobs:

workflows:
version: 2
build_test_deply:
build_test_deploy:
jobs:
- compare_base_dockerfiles
- build_and_test:
- test_pytest:
requires:
- compare_base_dockerfiles
- test_py3_fmri_fsl_spm:
requires:
- compare_base_dockerfiles
- test_py3_fmri_spm_dartel_multiproc:
requires:
- compare_base_dockerfiles
- test_fmri_spm_nested_multiproc:
requires:
- compare_base_dockerfiles
- deploy:
filters:
branches:
only: master
requires:
- build_and_test
- test_pytest
- test_fmri_spm_nested_multiproc
- test_py3_fmri_fsl_spm
- test_py3_fmri_spm_dartel_multiproc
3 changes: 3 additions & 0 deletions .circleci/test_py2_fmri_spm_nested_multiproc_l2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

docker run --rm=false -t -v $WORKDIR:/work -v $HOME/examples:/data/examples:ro -w /work -e NIPYPE_NUMBER_OF_CPUS=4 -e NIPYPE_RESOURCE_MONITOR=1 "${DOCKER_IMAGE}:py27" /usr/bin/run_examples.sh fmri_spm_nested MultiProc /data/examples/ l2pipeline
Loading