-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy path.travis.yml
executable file
·85 lines (78 loc) · 2.41 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
language: cpp
dist: jammy
matrix:
include:
- name: "linux gcc-11"
os: linux
addons:
apt:
packages:
- g++-11
- parallel
env:
- MATRIX_EVAL="CC=gcc-11 && CXX=g++-11 && BUILD_TYPE=Release"
- name: "linux gcc-12"
os: linux
addons:
apt:
packages:
- g++-12
- parallel
env:
- MATRIX_EVAL="CC=gcc-12 && CXX=g++-12 && BUILD_TYPE=Release"
- name: "linux gcc-11 (coverage)"
os: linux
addons:
apt:
packages:
- g++-11
- parallel
- lcov
env:
- MATRIX_EVAL="CC=gcc-11 && CXX=g++-11 && BUILD_TYPE=Coverage && GCOV=gcov-11"
before_install:
- eval "${MATRIX_EVAL}"
- python3 -m pip install --upgrade pip
- wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
- bash miniconda.sh -b -p $HOME/miniconda
- source "$HOME/miniconda/etc/profile.d/conda.sh"
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
- conda info -a
- conda activate base
install:
- python3 -m pip install "pandas>=1.2.0"
- python3 -m pip install "multitax>=1.3.1"
- python3 -m pip install "parameterized>=0.9.0"
- if [ "$BUILD_TYPE" == "Coverage" ]; then
python3 -m pip install coverage;
fi
- conda install -c bioconda -c conda-forge "raptor=3.0.1"
- mkdir build && cd build
- cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVERBOSE_CONFIG=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCONDA=OFF ..
- cat compile_commands.json
- cmake --build . -- -j2
- ctest -VV .
- sudo make install
- cd ..
script:
- ganon-build --version
- ganon-classify --version
- raptor --version
- if [ "$BUILD_TYPE" == "Coverage" ]; then
python3 -m coverage run --omit="/usr/*,tests/*" -m unittest discover -s tests/ganon/integration/ -v;
else
python3 -m unittest discover -s tests/ganon/integration/ -v &&
python3 setup.py install --user &&
ganon -h;
fi
after_success:
- if [ "$BUILD_TYPE" == "Coverage" ]; then
lcov --gcov-tool $(which ${GCOV}) -d . -c -o coverage_cpp.lcov &&
python3 -m coverage xml -o coverage_py.xml &&
curl -Os https://uploader.codecov.io/latest/linux/codecov &&
chmod +x codecov &&
./codecov --nonZero -X search --file coverage_py.xml --file coverage_cpp.lcov;
fi
notifications:
email: false