forked from biopython/biopython
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
151 lines (144 loc) · 4.54 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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# Special configuration file to run tests on Travis-CI via GitHub notifications
# See https://travis-ci.org/biopython/biopython/builds for results
#
# Using TravisCI's configuration alone became too complicated once we wanted
# to cover more than just running the unit tests on different versions of
# Python, so this now does all the complicated test configuration via TOX
# See file .travis-tox.ini
#
# Environment variables setup here:
# - TOXENV = environment used in Tox (conventionally uses py35 etc)
#
# TravisCI build stages used here:
# - basics - quick things like style and packaging
# - test - the actual functional tests which are slow
dist: trusty
language: python
cache: pip
matrix:
include:
- stage: basics
python: 2.7
env: TOXENV=style
addons:
apt:
packages:
before_install: echo "Going to run basic checks"
- stage: basics
python: 3.6
env: TOXENV=style
addons:
apt:
packages:
before_install: echo "Going to run basic checks"
- stage: basics
env: TOXENV=sdist,bdist_wheel
addons:
apt:
packages:
before_install: echo "Going to run basic checks"
- stage: test
python: 2.7
env: TOXENV=py27-cover
- stage: test
python: 3.4
env: TOXENV=py34-cover
- stage: test
python: 3.5
env: TOXENV=py35-cover
- stage: test
python: 3.6
env: TOXENV=py36-cover
- stage: test
python: pypy
env: TOXENV=pypy-nocov
- stage: test
python: pypy3
env: TOXENV=pypy3-nocov
sudo: false
addons:
apt:
packages:
- bwa
- clustalo
- clustalw
- emboss
- mafft
- muscle
- paml
- phyml
- probcons
- samtools
- wise
- t-coffee
- ncbi-blast+
# We setup $HOME/bin and add it to the $PATH for extra binaries we're using.
#
# There is a phyml Ubuntu package, but currently too old.
#
# There is no GenePop Ubuntu pacakge, although it is in BioConda.
#
# We also need DSSP for testing but it is not available in the repositories.
# Try to download the binary for Linux and place it in $HOME/bin
#
# This before_install list is only used for the test stage.
before_install:
- pushd $HOME
- mkdir -p bin
- export PATH=$HOME/bin:$PATH
- echo "Installing PhyML"
- curl -L -O http://www.atgc-montpellier.fr/download/binaries/phyml/PhyML-3.1.zip
- unzip PhyML-3.1.zip
- mv PhyML-3.1/PhyML-3.1_linux64 bin/phyml
#- echo "Installing dssp"
#- curl -L -O ftp://ftp.cmbi.ru.nl/pub/software/dssp/dssp-2.0.4-linux-amd64
#- mv dssp-2.0.4-linux-amd64 bin/dssp
#- chmod a+x bin/dssp
- echo "Installing Genepop"
- curl -L -O https://anaconda.org/bioconda/genepop/4.5.1/download/linux-64/genepop-4.5.1-0.tar.bz2
# This will create ./bin/Genepop and a harmless ./info/ folder.
- tar -jxvf genepop-4.5.1-0.tar.bz2
# Setup environment for t-coffee
- mkdir -p $HOME/tcoffee_temp
- export HOME_4_TCOFFEE=$HOME/tcoffee_temp
# There are TravisCI provided versions of PyPy and PyPy3, but currently too old.
# We therefore deactivate that, and download and unzip portable PyPy binaries.
- |
if [[ $TRAVIS_PYTHON_VERSION == 'pypy' ]]; then
deactivate
wget https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-6.0.0-linux_x86_64-portable.tar.bz2
tar -jxvf pypy-6.0.0-linux_x86_64-portable.tar.bz2
echo 'Setting up aliases...'
cd pypy-6.0.0-linux_x86_64-portable/bin/
export PATH=$PWD:$PATH
ln -s pypy python
echo 'Setting up pip...'
./pypy -m ensurepip
fi
- |
if [[ $TRAVIS_PYTHON_VERSION == 'pypy3' ]]; then
deactivate
wget https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3.5-6.0.0-linux_x86_64-portable.tar.bz2
tar -jxvf pypy3.5-6.0.0-linux_x86_64-portable.tar.bz2
echo 'Setting up aliases...'
cd pypy3.5-6.0.0-linux_x86_64-portable/bin/
export PATH=$PWD:$PATH
ln -s pypy3 python
echo 'Setting up pip...'
./pypy3 -m ensurepip
ln -s pip3 pip
fi
- popd
- cp Tests/biosql.ini.sample Tests/biosql.ini
- psql -c "create database biosql_test;" -U postgres
- psql -c "create user biosql_user with encrypted password 'biosql_pass';" -U postgres
- psql -c "grant all privileges on database biosql_test to biosql_user;" -U postgres
# This is minimal and used under all stages
install:
- pip install --upgrade pip setuptools
- pip install tox
- tox -c .travis-tox.ini -e $TOXENV --notest
script:
- travis_wait tox -c .travis-tox.ini -e $TOXENV
notifications:
email: false