forked from nipreps/niworkflows
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
88 lines (79 loc) · 2.39 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# vim ft=yaml
os: linux
dist: xenial
language: python
cache:
directories:
- $HOME/.cache/pip
python:
- 3.6
- 3.7
- 3.8
env:
global:
- CHECK_TYPE="install"
- INSTALL_TYPE="pip"
- INSTALL_DEPENDS="pip setuptools"
jobs:
- CHECK_TYPE="style"
- CHECK_TYPE="test"
- INSTALL_TYPE="sdist"
- INSTALL_TYPE="wheel"
- INSTALL_DEPENDS="pip==19.0.2 setuptools==40.8.0"
jobs:
exclude:
- python: 3.7
env: CHECK_TYPE="style"
before_install:
- python -m pip install --upgrade pip virtualenv
- virtualenv --python=python /tmp/venv
- source /tmp/venv/bin/activate
- python --version
- python -m pip --version
- python -m pip install --upgrade $INSTALL_DEPENDS
- python -m pip --version
- |
if [ "$INSTALL_TYPE" == "pip" ]; then
PACKAGE="."
elif [ "$INSTALL_TYPE" == "sdist" ]; then
python setup.py sdist
PACKAGE="$( ls dist/*.tar.gz )"
elif [ "$INSTALL_TYPE" == "wheel" ]; then
python setup.py bdist_wheel
PACKAGE="$( ls dist/*.whl )"
fi
install:
- python -m pip install $PACKAGE
- |
INTENDED_VERSION="$(python -c 'import versioneer; print(versioneer.get_version())')"
pushd /tmp
INSTALLED_VERSION="$(python -c 'import niworkflows; print(niworkflows.__version__)')"
python -c 'import niworkflows; print(niworkflows.__file__)'
echo "Intended: $INTENDED_VERSION"
echo "Installed: $INSTALLED_VERSION"
test "$INTENDED_VERSION" == "$INSTALLED_VERSION"
popd
- if [ "$CHECK_TYPE" = "install" ]; then exit 0; fi
before_script:
- travis_retry python -m pip install "niworkflows[$CHECK_TYPE]"
- |
if [ "$CHECK_TYPE" == "test" ]; then
mkdir -p $HOME/.cache/stanford-crn
curl -sSL "http://github.com/chrisfilo/BIDS-examples-1/archive/enh/ds054.tar.gz" |
tar xvzf - -C $HOME/.cache/stanford-crn
curl -sSL "https://files.osf.io/v1/resources/fvuh8/providers/osfstorage/57f328f6b83f6901ef94cf70" |
tar xvzf - -C $HOME/.cache/stanford-crn
fi
script:
- |
if [ "$CHECK_TYPE" == "style" ]; then
flake8 niworkflows
elif [ "$CHECK_TYPE" == "test" ]; then
pytest -n 2 -v --cov niworkflows --cov-report xml:cov.xml \
--ignore=niworkflows/interfaces/ants.py niworkflows
else
false
fi
after_script:
- python -m pip install codecov
- python -m codecov --flags travis --file cov.xml -e $TRAVIS_JOB_NUMBER