forked from datalad/datalad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
123 lines (115 loc) · 4.97 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# vim ft=yaml
# travis-ci.org definition for DataLad build
language: python
cache:
- apt
matrix:
include:
- python: 2.7
env:
- secure: "k2rHdTBjUU3pUUASqfRr7kHaaSmNKLLAR2f66A0fFSulih4CXxwLrR3g8/HP9m+jMve8mAYEiPSI7dT7cCm3WMA/piyLh2wKCGgzDD9oLjtvPAioR8dgLpzbgjxV/Vq6fwwPMlvbqqa+MmAImnAoSufEmI7zVQHCq11Hd5nd6Es="
- secure: "Az7Pzo5pSdAFTTX6XXzE4VUS3wnlIe1vi/+bfHBzDjxstDvZVkPjPzaIs6v/BLod43AYBl1v9dyJR4qnBnaVrUDLB3tC0emLhJ2qnw+8GKHSSImCwIOeZzg9QpXeVQovZUqQVQ3fg3KIWCIzhmJ59EbMQcI4krNDxk4WcXmyVfk="
# no loop dev support on travis yet :-/ https://github.com/travis-ci/travis-ci/issues/2700
#- python: 2.7
# env:
# - NOSE_WRAPPER="tools/eval_under_testloopfs"
- python: 2.7
# By default no logs will be output. This one is to test with log output at INFO level
env:
- DATALAD_LOGLEVEL=INFO
- python: 2.7
# By default no logs will be output. This one is to test with low level but dumped to /dev/null
env:
- DATALAD_LOGLEVEL=2
- DATALAD_LOGTARGET=/dev/null
- python: 2.7
env:
# to test operation under root since also would consider FS "crippled" due to
# ability to rewrite R/O files
- NOSE_WRAPPER="sudo -E"
# no key authentication for root:
- unset -v DATALAD_TESTS_SSH
- python: 2.7
env:
- DATALAD_TESTS_NONETWORK=1
# must operate nicely with those env variables set
- http_proxy=
- https_proxy=
- python: 2.7
env:
- PYTHONPATH=$PWD/tools/testing/bad_internals/_scrapy/
- python: 2.7
# To make sure that operates correctly whenever dataset directories have symlinks
# in their path.
env:
# Eventually we will get there, but atm causes a good number of failures
# - TMPDIR="/tmp/sym ссылка"
- TMPDIR="/tmp/sym link"
- python: 2.7
# To make sure that operates correctly whenever dataset directories have symlinks
# in their path.
env:
# To make orthogonal test where it is not a symlink but a dir with spaces
- TMPDIR="/tmp/d i r"
- python: 3.3
- python: 3.4
# Those aren't yet ready since lxml I believe fails to install
#- python: pypy
#- python: pypy3
# not there -- don't try!
# - python: 3.5
# can't since coverage doesn't support it yet: https://bitbucket.org/ned/coveragepy/issues/391/getargspec-was-finally-removed-will-not-be
# - python: nightly
env:
# to overcome problem with system-wide installed boto on travis
# see https://github.com/travis-ci/travis-ci/issues/5246
- BOTO_CONFIG=/tmp/nowhere
- DATALAD_TESTS_SSH=1
before_install:
# The ultimate one-liner setup for NeuroDebian repository
- bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh)
- travis_retry sudo apt-get update -qq
- sudo tools/ci/prep-travis-forssh-sudo.sh
- tools/ci/prep-travis-forssh.sh
# Install grunt-cli
- npm install grunt-cli
install:
# Install standalone build of git-annex for the recent enough version
- travis_retry sudo apt-get install git-annex-standalone zip
# For Python3 compatibility needs never-released master
- pip install https://github.com/niltonvolpato/python-progressbar/archive/master.zip
- git config --global user.email "[email protected]"
- git config --global user.name "Travis Almighty"
- git submodule update --init --recursive
- cd ..; pip install -q codecov; cd -
- pip install -r requirements.txt
# Verify that setup.py build doesn't puke
- python setup.py build
- pip install -e .
# So we could test under sudo -E with PATH pointing to installed location
- sudo sed -i -e 's/^Defaults.*secure_path.*$//' /etc/sudoers
# Install sphinx to build/test documentation. Doesn't take a while, so doing in all envs
- pip install sphinx
- pip install sphinx_rtd_theme
# TMPDIRs
- if [ ! -z "$TMPDIR" ] && [ "$TMPDIR" = "/tmp/sym link" ]; then echo "Symlinking $TMPDIR"; ln -s /tmp "$TMPDIR"; fi
- if [ ! -z "$TMPDIR" ] && [ "$TMPDIR" = "/tmp/d i r" ]; then mkdir -p "$TMPDIR"; fi
# Install grunt to test run javascript frontend tests
- npm install grunt
- npm install grunt-contrib-qunit
script:
- if [ ! -z "$DATALAD_TESTS_NONETWORK" ]; then sudo route add -net 0.0.0.0 netmask 0.0.0.0 dev lo; fi
- $NOSE_WRAPPER `which nosetests` -s -v --with-doctest --doctest-tests --with-cov --cover-package datalad --logging-level=INFO
- if [ ! -z "$DATALAD_TESTS_NONETWORK" ]; then sudo route del -net 0.0.0.0 netmask 0.0.0.0 dev lo; fi
# Generate documentation and run doctests
- PYTHONPATH=$PWD make -C docs html doctest
# Run javascript tests
- grunt test --verbose
after_success:
- codecov
# makes it only more difficult to comprehend the failing output. Enable only when necessary
# for a particular debugging
#after_failure:
# - if [ ! -z "$DATALAD_TESTS_NONETWORK" ]; then sudo route add -net 0.0.0.0 netmask 0.0.0.0 dev lo; fi
# - DATALAD_LOGLEVEL=DEBUG $NOSE_WRAPPER `which nosetests` -s -v --with-doctest --doctest-tests --with-cov --cover-package datalad --logging-level=DEBUG
# - if [ ! -z "$DATALAD_TESTS_NONETWORK" ]; then sudo route del -net 0.0.0.0 netmask 0.0.0.0 dev lo; fi