-
Notifications
You must be signed in to change notification settings - Fork 4
/
.travis.yml
141 lines (120 loc) · 5.53 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
os: linux
dist: bionic
language: python
python:
- "3.6"
- "3.7"
- "3.8"
branches:
only:
- master
on:
tags: true
before_deploy:
- git config --local user.name "cmorganl"
- git config --local user.email "c.morganlang@gmail.com"
env:
global:
- CIBW_SKIP="cp27-* pp27-* *-manylinux_i686"
- TWINE_USERNAME=__token__
# Note: TWINE_PASSWORD is set to a PyPI API token in Travis settings
- PIP="python3 -m pip"
- TWINE_REPOSITORY=pypi
- TWINE_REPOSITORY_URL=https://upload.pypi.org/legacy/
- TRAVIS_TAG=${TRAVIS_TAG:-$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)}
- RAXML_VERSION="1.0.1"
- EPA_VERSION="0.3.8"
- BWA_VERSION="0.7.17"
- HMMER_VERSION="3.3"
- PRODIGAL_VERSION="2.6.3"
- VSEARCH_VERSION="2.15.0"
- MAFFT_VERSION="7.475-1"
- MMSEQS_VERSION="12-113e3"
jobs:
include:
# perform a linux build
- services: docker
# and a mac build
- name: "Python 3.6.5 on macOS 10.13"
os: osx
osx_image: xcode9.4
language: shell
before_install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git;
curl -L 'http://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh' -o Miniconda3-latest-MacOSX-x86_64.sh;
bash Miniconda3-latest-MacOSX-x86_64.sh -b -p ~/anaconda_ete/;
export PATH=~/anaconda_ete/bin:$PATH;
conda install -y -c etetoolkit ete3;
fi
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then
sudo apt -y install gcc dpkg-dev zip git libz-dev default-jdk time time libssl-dev libsqlite3-dev \
autotools-dev libtool flex bison cmake automake autoconf \
python3-distutils python3-dev;
sudo apt install python-six -y;
wget https://mafft.cbrc.jp/alignment/software/mafft_${MAFFT_VERSION}_amd64.deb;
sudo dpkg -i mafft_${MAFFT_VERSION}_amd64.deb;
wget -O mmseqs-linux-sse41.tar.gz https://github.com/soedinglab/MMseqs2/releases/download/${MMSEQS_VERSION}/MMseqs2-Linux-SSE4_1.tar.gz;
tar xvzf mmseqs-linux-sse41.tar.gz;
sudo cp mmseqs/bin/mmseqs /usr/local/bin;
wget https://github.com/hallamlab/TreeSAPP/raw/master/treesapp/sub_binaries/BMGE.jar;
sudo mv BMGE.jar /usr/local/bin/;
wget -O hmmer-${HMMER_VERSION}.tar.gz http://eddylab.org/software/hmmer/hmmer-${HMMER_VERSION}.tar.gz;
tar -xzf hmmer-${HMMER_VERSION}.tar.gz; cd hmmer-${HMMER_VERSION}/; ./configure; make -f Makefile;
sudo cp src/hmmsearch src/hmmbuild src/hmmalign /usr/local/bin/;
cd -; rm hmmer-${HMMER_VERSION}.tar.gz;
wget https://github.com/torognes/vsearch/archive/v${VSEARCH_VERSION}.tar.gz;
tar xzf v${VSEARCH_VERSION}.tar.gz && cd vsearch-${VSEARCH_VERSION};
./autogen.sh && ./configure && make && sudo make install && cd -;
wget -O prodigal https://github.com/hyattpd/Prodigal/releases/download/v${PRODIGAL_VERSION}/prodigal.linux;
sudo mv prodigal /usr/local/bin/ && chmod +x /usr/local/bin/prodigal;
wget -O v${BWA_VERSION}.tar.gz https://github.com/lh3/bwa/archive/v${BWA_VERSION}.tar.gz;
tar -xzf v${BWA_VERSION}.tar.gz && cd bwa-${BWA_VERSION}/ && make && rm *.o && cd -;
sudo cp bwa-${BWA_VERSION}/bwa /usr/local/bin/bwa && rm v${BWA_VERSION}.tar.gz;
wget -O od-seq.tar.gz http://www.bioinf.ucd.ie/download/od-seq.tar.gz; tar -xzf od-seq.tar.gz;
ODSEQ_SOURCES="OD-Seq/AliReader.cpp OD-Seq/Bootstrap.cpp OD-Seq/DistCalc.cpp OD-Seq/DistMatReader.cpp
OD-Seq/DistWriter.cpp OD-Seq/FastaWriter.cpp OD-Seq/IQR.cpp OD-Seq/ODseq.cpp OD-Seq/PairwiseAl.cpp
OD-Seq/Protein.cpp OD-Seq/ResultWriter.cpp OD-Seq/runtimeargs.cpp OD-Seq/util.cpp";
sudo g++ -fopenmp -o /usr/local/bin/OD-seq $ODSEQ_SOURCES;
rm od-seq.tar.gz;
sudo wget -O /usr/local/bin/FastTree http://microbesonline.org/fasttree/FastTreeDbl;
sudo chmod +x /usr/local/bin/FastTree;
wget -O raxml-ng_v${RAXML_VERSION}.zip https://github.com/amkozlov/raxml-ng/releases/download/${RAXML_VERSION}/raxml-ng_v${RAXML_VERSION}_linux_x86_64.zip;
mkdir raxml-ng_v${RAXML_VERSION}; unzip raxml-ng_v${RAXML_VERSION}.zip -d raxml-ng_v${RAXML_VERSION};
sudo cp raxml-ng_v${RAXML_VERSION}/raxml-ng /usr/local/bin/;
rm -r raxml-ng_v${RAXML_VERSION}.zip raxml-ng_v${RAXML_VERSION};
wget -O epa-ng.tar.gz https://github.com/Pbdas/epa-ng/archive/v${EPA_VERSION}.tar.gz;
tar -xzf epa-ng.tar.gz; cd epa-ng-${EPA_VERSION}/;
make; sudo cp bin/epa-ng /usr/local/bin/; cd -;
rm epa-ng.tar.gz;
fi
install:
- $PIP install --upgrade pip
- $PIP install -r requirements.txt
- $PIP install -U setuptools
- $PIP install -U cibuildwheel
- $PIP install codecov
- $PIP install twine
- $PIP install tox-travis
script:
# build the wheels, put them into './wheelhouse'
- if [ "$TRAVIS_OS_NAME" != "osx" ]; then
tox -a;
tox -v;
fi
- python3 -m cibuildwheel --output-dir wheelhouse
- python3 setup.py sdist --dist-dir wheelhouse
notifications:
email:
on_success: never
on_failure: always
after_success:
# if the release was tagged, upload them to PyPI
- ls wheelhouse/
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
$PIP install twine;
python3 -m twine upload --skip-existing wheelhouse/*.whl;
fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
python3 -m twine upload --skip-existing wheelhouse/*.whl wheelhouse/*tar.gz;
fi