forked from biopython/biopython
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
185 lines (178 loc) · 4.64 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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# 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: xenial
services:
- mysql
- postgresql
language: python
cache:
- pip
- $HOME/.cache/pre-commit
matrix:
include:
- stage: basics
python: 3.7
env: SKIP=black
services:
addons:
apt:
packages:
before_install: echo "Going to run style checks using pre-commit"
install:
- pip install pre-commit
- pre-commit install --install-hooks
script:
- pre-commit run -a
- stage: basics
python: 3.7
env: TOXENV=style,sdist,bdist_wheel
services:
addons:
apt:
packages:
before_install: echo "Going to run basic checks"
- stage: test
python: 3.7
env: TOXENV=api
services:
addons:
apt:
packages:
before_install: echo "Going to build API docs"
deploy:
provider: script
script: .github/deploy_docs.sh
skip_cleanup: true
on:
branch: master
- stage: test
python: 3.6
env: TOXENV=py36-cover
addons:
apt:
packages:
- *amd64_only_packages
- *default_packages
- stage: test
python: 3.7
env: TOXENV=py37-cover
addons:
apt:
packages:
- *amd64_only_packages
- *default_packages
- stage: test
python: 3.8
env: TOXENV=py38-cover
addons:
apt:
packages:
- *amd64_only_packages
- *default_packages
- stage: test
python: 3.9
env: TOXENV=py39-cover
addons:
apt:
packages:
- *amd64_only_packages
- *default_packages
- stage: test
python: 3.8
env: TOXENV=py38-nocov
arch: arm64
services:
addons:
apt:
packages:
- stage: test
python: 3.8
env: TOXENV=py38-nocov
arch: ppc64le
- stage: test
python: 3.8
env: TOXENV=py38-cover
arch: s390x
- stage: test
python: pypy3
env: TOXENV=pypy3-nocov
addons:
apt:
packages:
- *amd64_only_packages
- *default_packages
allow_failures:
- arch: arm64
- arch: ppc64le
- arch: s390x
addons:
apt:
packages: &default_packages
- 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 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 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
- |
if [ $TRAVIS_CPU_ARCH == amd64 ]; then
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
fi
# Setup environment for t-coffee
- mkdir -p $HOME/tcoffee_temp
- export HOME_4_TCOFFEE=$HOME/tcoffee_temp
- popd
- cp Tests/biosql.ini.sample Tests/biosql.ini
- |
if [ $TRAVIS_CPU_ARCH == amd64 ]; then
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
fi
# 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:
- python --version
- travis_wait 30 tox -c .travis-tox.ini -e $TOXENV
notifications:
email: false