forked from MDAnalysis/mdanalysis
/
.travis.yml
119 lines (103 loc) · 4.82 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
language: generic
# Only build for develop and master (and PRs)
branches:
only:
- master
- develop
os:
- linux
env:
global:
- secure: "f8EMSWeYC38elhpB4B/ddxlklEvQoycaxnt90Xw2tH/+ThdP1qteQ2vdgNFy1KL7Am/xnbrRhavI5K+ayfxJ93NoE2adaJ9f9aljXK+Oeu+buv5MVo2E2HhN9mX9opSSxiqGmnHIVYcdLP+1soIsDD78SGL7hB/u5nQ1aTzkbaM="
- GH_DOC_BRANCH=develop
- GH_REPOSITORY=github.com/MDAnalysis/mdanalysis.git
- GIT_CI_USER=TravisCI
- GIT_CI_EMAIL=TravisCI@mdanalysis.org
- MDA_DOCDIR=${TRAVIS_BUILD_DIR}/package/doc/html/html
- MDA_OPTPACKAGES=opt/packages
# Set default python version to avoid repetition later
- BUILD_DOCS=false
- PYTHON_VERSION=2.7
- COVERALLS=false
- NOSE_FLAGS="--processes=2 --process-timeout=400 --no-open-files --with-timer --timer-top-n 50"
- NOSE_TEST_LIST=""
- PYTEST_FLAGS="--disable-pytest-warnings -n 2"
- PYTEST_LIST="testsuite/MDAnalysisTests/lib testsuite/MDAnalysisTests/formats testsuite/MDAnalysisTests/coordinates testsuite/MDAnalysisTests/utils testsuite/MDAnalysisTests/topology testsuite/MDAnalysisTests/auxiliary testsuite/MDAnalysisTests/core testsuite/MDAnalysisTests/analysis"
- NOSE_COVERAGE_FILE="nose_coverage"
- PYTEST_COVERAGE_FILE="pytest_coverage"
- MAIN_CMD="pytest ${PYTEST_LIST} ${PYTEST_FLAGS}; python ./testsuite/MDAnalysisTests/mda_nosetests ${NOSE_TEST_LIST} ${NOSE_FLAGS}"
- SETUP_CMD=""
- BUILD_CMD="pip install -v package/ && pip install testsuite/"
- CONDA_DEPENDENCIES="mmtf-python nose=1.3.7 mock six biopython networkx cython joblib nose-timer matplotlib scipy griddataformats pytest-cov pytest-xdist"
- CONDA_ALL_DEPENDENCIES="mmtf-python nose=1.3.7 mock six biopython networkx cython joblib nose-timer matplotlib netcdf4 scikit-learn scipy griddataformats seaborn coveralls clustalw=2.1 pytest-cov pytest-xdist"
# Install griddataformats from PIP so that scipy is only installed in the full build (#1147)
- PIP_DEPENDENCIES='pytest-raises'
- CONDA_CHANNELS='biobuilds conda-forge'
- CONDA_CHANNEL_PRIORITY=True
- NUMPY_VERSION=stable
matrix:
fast_finish: true
include:
- os : linux
env: NAME='minimal'
PYTHON_VERSION=2.7
MEMLEAK='--with-memleak'
MAIN_CMD='pytest ${PYTEST_LIST} ${PYTEST_FLAGS}; python ./testsuite/MDAnalysisTests/mda_nosetests ${NOSE_TEST_LIST} ${NOSE_FLAGS} ${MEMLEAK}'
- os: linux
env: NAME="Doc"
MAIN_CMD="cd package && python setup.py"
SETUP_CMD="build_sphinx"
BUILD_DOCS=true
BUILD_CMD="cd ${TRAVIS_BUILD_DIR}/package && python setup.py build_ext --inplace"
CONDA_DEPENDENCIES=${CONDA_ALL_DEPENDENCIES}
- os: linux
env: NAME="Lint"
MAIN_CMD="pylint --rcfile=package/.pylintrc package/MDAnalysis && pylint --rcfile=package/.pylintrc testsuite/MDAnalysisTests"
BUILD_CMD=""
CONDA_DEPENDENCIES="pylint backports.functools_lru_cache"
PIP_DEPENDENCIES=""
- os: linux
env: NAME='full'
NOSE_COVERAGE='--with-coverage --cover-package MDAnalysis'
PYTEST_COVERAGE='--cov=MDAnalysis'
MAIN_CMD='export COVERAGE_FILE=$PYTEST_COVERAGE_FILE; pytest ${PYTEST_LIST} ${PYTEST_FLAGS} ${PYTEST_COVERAGE}; export COVERAGE_FILE=$NOSE_COVERAGE_FILE; python ./testsuite/MDAnalysisTests/mda_nosetests ${NOSE_TEST_LIST} ${NOSE_FLAGS} ${NOSE_COVERAGE}'
CONDA_DEPENDENCIES=${CONDA_ALL_DEPENDENCIES}
COVERALLS='true'
- os: osx
env: NAME='osx'
CONDA_DEPENDENCIES=${CONDA_ALL_DEPENDENCIES}
- os: linux
env: NAME='old numpy'
NUMPY_VERSION=1.10.4
CONDA_DEPENDENCIES=${CONDA_ALL_DEPENDENCIES}
- os: linux
env: NAME='numpy dev'
NUMPY_VERSION=dev
CONDA_DEPENDENCIES=${CONDA_ALL_DEPENDENCIES}
EVENT_TYPE='cron'
install:
- git clone git://github.com/astropy/ci-helpers.git
- source ci-helpers/travis/setup_conda.sh
# additional external tools (Issue #898) -- HOLE
- |
if [[ $NAME == 'full' ]]; then \
bash ./maintainer/install_hole.sh $TRAVIS_OS_NAME "${HOME}/${MDA_OPTPACKAGES}"; \
HOLE_BINDIR="${HOME}/${MDA_OPTPACKAGES}/hole2/exe"; \
export PATH=${PATH}:${HOLE_BINDIR}; \
fi
- eval $BUILD_CMD
script:
- cd ${TRAVIS_BUILD_DIR}
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then ulimit -S -n 2048; fi
- echo $MAIN_CMD $SETUP_CMD
- eval $MAIN_CMD $SETUP_CMD
after_success:
- |
if [[ $COVERALLS == 'true' ]]; then \
coverage combine $NOSE_COVERAGE_FILE $PYTEST_COVERAGE_FILE; \
coveralls; \
fi
# can't use test here since this leads to travis fails even though the build passes
- if [[ ${TRAVIS_PULL_REQUEST} == "false" ]] && [[ ${BUILD_DOCS} == "true" ]] && [[ ${TRAVIS_BRANCH} == ${GH_DOC_BRANCH} ]]; then
bash ${TRAVIS_BUILD_DIR}/maintainer/deploy_docs.sh;
fi