Skip to content

CI: Test against minimum versions #2576

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 5 commits into from
Closed

Conversation

effigies
Copy link
Member

We're currently testing against the most recent versions of our dependencies, which makes it harder to identify when we accidentally depend on newer features. See, e.g., #2181.

@effigies effigies added this to the 1.0.4 milestone May 14, 2018
@effigies effigies force-pushed the ci/min_deps branch 2 times, most recently from 64a027c to 22374ae Compare May 14, 2018 15:54
@codecov-io
Copy link

codecov-io commented May 14, 2018

Codecov Report

Merging #2576 into master will increase coverage by 0.02%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #2576      +/-   ##
=========================================
+ Coverage   67.57%   67.6%   +0.02%     
=========================================
  Files         333     333              
  Lines       42547   42550       +3     
  Branches     5266    5267       +1     
=========================================
+ Hits        28750   28764      +14     
+ Misses      13124   13113      -11     
  Partials      673     673
Flag Coverage Δ
#smoketests 50.7% <0%> (-0.01%) ⬇️
#unittests 65.05% <100%> (+0.04%) ⬆️
Impacted Files Coverage Δ
nipype/pipeline/plugins/base.py 61.04% <100%> (+1.16%) ⬆️
nipype/pipeline/engine/utils.py 82.58% <0%> (+0.11%) ⬆️
nipype/pipeline/engine/workflows.py 79.76% <0%> (+0.68%) ⬆️
nipype/interfaces/matlab.py 86.86% <0%> (+1.01%) ⬆️
nipype/interfaces/dipy/setup.py 25% <0%> (+25%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5a96ea5...62e1734. Read the comment docs.

@effigies
Copy link
Member Author

Looks like we're running up against issues when numpy==1.9 and scipy is 0.14.0, 0.16.0 or 0.18.1.

Python < 3.6, scipy == {0.14.0, 0.16.0}

E           RuntimeError: Traceback (most recent call last):
E           
E             File "/home/travis/build/nipy/nipype/nipype/pipeline/plugins/base.py", line 370, in _local_hash_check
E               self._task_finished_cb(jobid, cached=True)
E           
E             File "/home/travis/build/nipy/nipype/nipype/pipeline/plugins/base.py", line 394, in _task_finished_cb
E               rowview[rowview.nonzero()] = 0
E           
E             File "/home/travis/conda/lib/python2.7/site-packages/scipy/sparse/base.py", line 536, in nonzero
E               A = self.tocoo()
E           
E             File "/home/travis/conda/lib/python2.7/site-packages/scipy/sparse/base.py", line 643, in tocoo
E               return self.tocsr().tocoo()
E           
E             File "/home/travis/conda/lib/python2.7/site-packages/scipy/sparse/lil.py", line 389, in tocsr
E               indices = np.asarray(indices, dtype=idx_dtype)
E           
E             File "/home/travis/conda/lib/python2.7/site-packages/numpy/core/numeric.py", line 462, in asarray
E               return array(a, dtype, copy=False, order=order)
E           
E           ValueError: setting an array element with a sequence.

Python == 3.6, scipy == 0.18.1

../../../conda/lib/python3.6/site-packages/scipy/linalg/__init__.py:174: in <module>
    from .misc import *
../../../conda/lib/python3.6/site-packages/scipy/linalg/misc.py:5: in <module>
    from .blas import get_blas_funcs
../../../conda/lib/python3.6/site-packages/scipy/linalg/blas.py:155: in <module>
    from scipy.linalg import _fblas
E   ImportError: numpy.core.multiarray failed to import
nipype/algorithms/modelgen.py:23: in <module>
    from scipy.special import gammaln
../../../conda/lib/python3.6/site-packages/scipy/special/__init__.py:638: in <module>
    from .basic import *
../../../conda/lib/python3.6/site-packages/scipy/special/basic.py:15: in <module>
    from ._ufuncs import (ellipkm1, mathieu_a, mathieu_b, iv, jv, gamma,
E   ImportError: cannot import name 'ellipkm1'

@satra
Copy link
Member

satra commented May 14, 2018

@effigies - do we know what the python/numpy/scipy version compatibility matrix looks like? my simple searches did not turn up anything concrete.

@effigies
Copy link
Member Author

I do not. I picked the scipy minimum versions based on which ones had wheels on PyPI.

Judging by the current scipy/setup.py, there should be compatibility back through numpy 1.8 and for all versions that we test. But that doesn't mean the wheels were built properly.

@effigies
Copy link
Member Author

While I think it's a good goal to test against minimum versions, I don't think I'm going to have the time to track this one down.

@effigies effigies removed this from the 1.0.4 milestone May 15, 2018
@effigies effigies closed this May 15, 2018
@satra
Copy link
Member

satra commented May 15, 2018

@effigies - this is exactly the kind of thing that regtests is being built for. @djarecka - perhaps you can add this as an example.

@djarecka
Copy link
Collaborator

@satra I added this issue to regtest to not forget

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants