forked from ReproNim/reproman
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
114 lines (104 loc) · 3.92 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
# vim ft=yaml
# travis-ci.org definition for ReproMan build
language: python
sudo: required
#dist: precise
services:
- docker
cache:
- apt
matrix:
include:
- python: 3.5
env:
- REPROMAN_TESTS_SSH=1
- INSTALL_DATALAD=1
- INSTALL_CONDOR=1
- python: 3.5
env:
- REPROMAN_TESTS_SSH=1
- REPROMAN_TESTS_DEPS=core
- REPROMAN_TESTS_ASSUME_SSP=1
# Set this to test tracing virtual environments created with
# --system-site-packages.
virtualenv:
system_site_packages: true
# We're assuming a system python version. Pin the dist so that
# this run doesn't break when the default distribution changes.
dist: xenial
- python: 3.5
# By default no logs will be output. This one is to test with log output at INFO level
env:
- REPROMAN_LOGLEVEL=INFO
- python: 3.5
# By default no logs will be output. This one is to test with low level but dumped to /dev/null
env:
- REPROMAN_LOGLEVEL=2
- REPROMAN_LOGTARGET=/dev/null
- python: 3.4
# Note: This this no network run appears to hang or otherwise
# behave oddly on 3.5.
env:
- REPROMAN_TESTS_NONETWORK=1
# must operate nicely with those env variables set
- http_proxy=
- https_proxy=
# Those aren't yet ready since lxml Ibelieve fails to install
#- python: pypy
#- python: pypy3
# not there -- don't try!
# - python: nightly
env:
global:
- REPROMAN_TESTS_DEPS=full
before_install:
# we do not need anything from those APT sources, and they often fail, disable!
- sudo sed -i -e '/mongodb/d' /etc/apt/sources.list /etc/apt/sources.list.d/*list
# 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
- if [ ! -z "${REPROMAN_TESTS_SSH:-}" ]; then
sudo eatmydata tools/ci/prep-travis-forssh-sudo.sh;
tools/ci/prep-travis-forssh.sh;
fi
- git config --global user.email "[email protected]"
- git config --global user.name "Travis Almighty"
install:
# - tools/ci/build_install_apt # Removed dependency on python-apt!
- cd ..; pip install -q codecov; cd -
- pip install --upgrade pip
# needed by html5lib
- pip install --upgrade 'setuptools>=18.5'
- pip install -e .[$REPROMAN_TESTS_DEPS]
# The above could have been a core dependencies install, so make
# sure we have the other devel dependencies we need.
- pip install -e .[tests]
- pip install -e .[devel-docs]
- pip install -e .[devel-utils]
# So we could test under sudo -E with PATH pointing to installed location
- sudo sed -i -e 's/^Defaults.*secure_path.*$//' /etc/sudoers
# for SVN tests (SVNRepoShim._ls_files_command())
- sudo apt-get install sqlite3
- sudo apt-get install moreutils # for concurrent jobs with local orchestrator
- travis_retry sudo eatmydata apt-get install singularity-container
- if [ ! -z "${INSTALL_DATALAD:-}" ]; then tools/ci/install_datalad; fi
- if [ ! -z "${INSTALL_CONDOR:-}" ]; then tools/ci/install_condor; fi
script:
# Verify that setup.py build doesn't puke
- python setup.py build
# - $NOSE_WRAPPER `which nosetests` -s -v --with-doctest --doctest-tests --with-cov --cover-package reproman --logging-level=INFO
- coverage run `which py.test` -s -rs --integration reproman
# Generate documentation and run doctests
- PYTHONPATH=$PWD make -C docs html doctest
branches:
except:
- 3rd-repronimed
- 3rd
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 "$REPROMAN_TESTS_NONETWORK" ]; then sudo route add -net 0.0.0.0 netmask 0.0.0.0 dev lo; fi
# - REPROMAN_LOGLEVEL=DEBUG $NOSE_WRAPPER `which nosetests` -s -v --with-doctest --doctest-tests --with-cov --cover-package reproman --logging-level=DEBUG
# - if [ ! -z "$REPROMAN_TESTS_NONETWORK" ]; then sudo route del -net 0.0.0.0 netmask 0.0.0.0 dev lo; fi